Refactoring ก็มี Manifesto เหมือนกันนะ
อาทิตย์นี้แวะไปเห็นว่ามี Refactoring Manifesto ซึ่งพูดถึงว่าทำไมการ refactoring ทำให้ระบบมันอยู่กับเราเพื่อส่งมอบ value ให้กับ user และ developer และมีแนวปฏิบัติอะไรที่ช่วยเสริมประโยชน์ refactoring เข้าไปให้มากขึ้น
- Refactoring ทำให้ product อยู่กับเราได้นานขึ้น
- ระบบเราควรจะถูกออกแบบมาให้เรียบง่าย เพื่อที่จะ refactor ได้ง่ายขึ้น
- Refactoring ไม่เท่ากับการ rewriting เพราะอย่างหลังคือการโยนส่วนที่เสียทิ้ง
- Refactoring คือการเพิ่มประสิทธิภาพ ซึ่งเพิ่มความสวยงามและคุณภาพไปในตัว
- Refactoring เป็นศิลป์ ต้องใช้ความคิดสร้างสรรค์ โดยนำ technique และเครื่องมือใหม่ ๆ เข้ามาช่วย
- Refactoring ไม่ใช่ trend เพราะมันคือ process ที่ไม่มีที่สิ้นสุด
- Refactoring คือการเรียนรู้ ว่าระบบของเรามันทำงานยังไงหรือมันทำงานผิดปกติตรงไหน
- Refactor ตลอดแม้อยู่ในช่วงเวลาคับขัน focus ที่แนวคิดมากกว่าแรงที่ต้องใช้
- อย่าตกเป็นทาสของ legacy code แต่ให้เป็นนายมันและแบ่งปันประสบการณ์ให้คนอื่น
- เรา Refactor code ได้ทุกรูปแบบแม้ว่ามันจะห่วยแค่ไหนก็ตาม แต่ไม่ได้หมายความว่าเราต้องทำให้ code มันห่วยแตกที่สุดค่อย refactor นะ
ระหว่างพัฒนา software อย่าลืม refactoring กันด้วยนะครับ เพราะการที่มี code ที่คุณภาพดีขึ้นมันอาจจะช่วยทำให้โลกของเราก้าวหน้าไปในทางที่ดีขึ้นได้ ทั้งในด้าน user experience นวัตกรรมใหม่ ๆ ลดช่องโหว่จากการโจมตี การทำงานร่วมกันดีขึ้น และที่สำคัญ สามารถปรับเปลี่ยนตามความต้องการของโลกที่เปลี่ยนไปได้เร็วขึ้นนั่นเอง
Refactoring is not a needless cost. It is anti-needless complexity that prevents change.