clean-code Archive

ทำไม Developer ควรให้เวลากับการลบ code ของตัวเองทิ้งไปบ้าง ?

Developer ทุกคนต้องเขียน code Developer รู้ดีกว่าการเขียน code ที่ดีเป็นอย่างไร Developer รู้ดีกว่าการเขียน code ที่ไม่ดีเป็นอย่างไร ดังนั้น Developer จำเป็นต้องพัฒนาและปรับปรุงการเขียน code อยู่ตลอดเวลา แต่ Developer รู้ไหมว่า เวลาส่วนใหญ่ที่ใช้ไปนั้น กลับเป็นการกลับไปแก้ไขและลบ code เก่าที่เคยเขียนไว้ ? ถ้าเป็นแบบนี้จริง ๆ แสดงว่า เราสูญเสียเวลาไปมากมาย ให้กับ code ที่ต้องถูกลบทิ้ง หรือ เขียนใหม่ !!! ทำไมนะ

Read More…

Clean Code หนังสือที่นักพัฒนาควรอ่าน

วันนี้มี developer มาถามเรื่องหนังสือเกี่ยวกับ programming ว่าควรจะอ่านหนังสืออะไรบ้าง ? เล่มแรกที่ผมแนะนำให้อ่านก็คือ Clean Code – A Handbook of Agile Software Craftsmanship ในหนังสือเล่มนี้อธิบายแนวปฏิบัติที่ดีสำหรับการพัฒนา software ถึงแม้ว่าหนังสือจะเก่าหน่อย แต่เนื้อหาส่วนใหญ่ยังแจ่มมาก ๆ ปล. เป็นหนังสือที่นักพัฒนาต้องอ่านกันเลยนะ ดังนั้นจึงทำการสรุปเนื้อหาหลัก ๆ ไว้นิดหน่อย

Read More…

คำถาม :: Developer ทำการแบ่ง package ของระบบกันอย่างไร ?

จากบทความเรื่อง Package by feature, not layer อธิบายถึงการแบ่ง package ต่าง ๆ ในระบบงาน ซึ่งเป็นสิ่งที่สำคัญมาก ๆ เป็นงานที่ทีมพัฒนาต้องช่วยกัน เป็นงานที่ทีมพัฒนาต้องตัดสินใจร่วมกัน ว่าต้องการให้โครงสร้างของระบบเป็นอย่างไร ? แน่นอนว่า ส่งผลต่อการพัฒนาระบบอย่างแน่นอน

Read More…

ลด ละ เลิก การสร้าง Logging application กันเถอะ !!

ในการสร้างระบบงานนั้น สิ่งหนึ่งที่ขาดไปไม่ได้เลยคือ logging การทำงานต่าง ๆ ของระบบ ดังนั้นทำให้เกิด code ที่เกี่ยวกับ logging จำนวนมาก เผลอ ๆ อาจจะมากกว่า code ส่วนอื่น ๆ ของระบบอีกต่างหาก ซึ่งผมชอบเรียกระบบเหล่านี้ว่า Logging application !! ผลที่ตามมาก็คือ code อุดมไปด้วย log อ่านยากมาก ๆ code จะทดสอบยากมาก ๆ บ่อยครั้งไม่สามารถเขียน unit test ได้เลย code ดูแลยากอีก !! ดังนั้นนักพัฒนาควรใส่ใจวิธีการจัดการ log มาก ๆ ด้วยนะ มาดูกันว่าทำอย่างไรได้บ้าง

Read More…

5ส สำหรับการพัฒนา software

คิดว่า developer หลาย ๆ คนน่าจะรู้จักกับ 5ส หรือ 5S 5S was developed in Japan and was identified as one of the techniques that enabled Just in Time manufacturing ซึ่งประกอบไปด้วย Seiri หรือ Sort/Clearing/Classify หรือ สะสาง Seiton หรือ Systematic Arrangement/Streamline/Simplify/Configure หรือ สะดวก Seiso หรือ Shine/Cleanliness/Clean and check หรือ สะอาด Seiketsu หรือ Standardize/Conformity หรือ สร้างมาตรฐาน Shitsuke หรือ Sustain the [&hellip

Read More…

Write clear code, NOT clever code

จากหนังสือ Practice of an Agile Developer มีคำแนะนำเกี่ยวกับวิธีการปรับปรุงความสามารถของ developer มากมาย ทั้ง soft skill และ technical skill แต่มีประโยคหนึ่งในหนังสือเล่มนี้ที่น่าจะโดนมาก ๆ คือ Write clear code, NOT clever code เป็นความสามารถที่สำคัญมาก ๆ ของ developer ควรจะมีไว้

Read More…

หัดลบ code ที่ไม่ใช้งานออกไปบ้างนะ !!

อ่านบทความเรื่อง Honest Code ซึ่งเขียนมาตั้งแต่ปี 2005 มีใจความสำคัญว่า Code ส่วนไหนที่ไม่ถูกเรียกใช้งานจากส่วนอื่นก็ควรลบทิ้งไปซะ Code ส่วนไหนที่ไม่ถูกใช้งานจากผู้ใช้งานก็ควรลบทิ้งไปซะ ให้เหลือ code ที่จำเป็นเท่านั้นจริง ๆ จะได้ไม่ต้องมาเสียเวลากับ code ที่ไม่ใช้งาน ดังนั้นจึงนำมาแปลและสรุป ตลอดจนหาข้อมูลเพิ่มเติมบ้าง

Read More…

ว่าด้วยการปรับปรุงคุณภาพของ code ให้ดีขึ้น

มีคำถามที่น่าสนใจมาก ๆ คือ เราต้องทำอย่างไรบ้างเพื่อดูแลรักษาคุณภาพของ code ? เราต้องทำอย่างไรบ้างเพื่อปรับปรุงคุณภาพของ code ให้ดีขึ้น ? ลองมาหาตอบคำถามกันหน่อยสิ

Read More…

แนะนำวิธีการเขียน code ให้ดีขึ้น

ค่ำนี้อ่าน slide เรื่อง Idiomatic Go Tricks จากงาน Go UK Conference ซึ่งมีคำแนะนำดี ๆ เกี่ยวกับการเขียน code มากกว่าการเขียน code ให้เสร็จ ๆ ไป เพื่อทำให้ code ดูแลรักษาได้ง่าย ประกอบไปด้วยสิ่งต่าง ๆ ดังต่อไปนี้

Read More…

ทำความรู้จักกับ 3R principle

อ่านเจอบทความเรื่อง 3R principles of programming เป็นแนวปฏิบัติ 3 อย่างเพื่อช่วยทำให้ code ที่เหล่านักพัฒนา software สร้างขึ้นมา มีความ clean มีความง่ายต่อการอ่าน มีความง่ายตอการทำความเข้าใจ มีความง่ายต่อการดูแลรักษา ไม่ซับซ้อนมากนัก จึงทำการแปลและสรุปส่วนที่น่าสนใจมานิดหน่อย

Read More…