clean-code Archive

ลด ละ เลิก การสร้าง 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…

แนะนำวิธีการเพื่อปรับปรุงการเขียน code ให้ดีขึ้น

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

Read More…

สรุปเรื่องของ Code Quality จาก Code Climate

นั่งดู VDO เรื่อง Code Quality Lessons Learned จาก CodeClimate.com ตั้งคำถามที่น่าสนใจเกี่ยวกับ Code Quality ไว้ดังนี้ Code Quality คืออะไร ? ใช้อะไรวัดค่าความซับซ้อนของ code ? ทำไม code ของ project เก่า ๆ ถึงดูแลยากนักล่ะ ? ขนาดของ code ในแต่ละ Pull request สำหรับการ review ควรเป็นเท่าไรดี ? เมื่อไรที่ code แย่ ๆ ไม่ใช่ปัญหา ? อะไรบ้างที่เป็นตัวขัดขวาง Clean code ? เท่านี้ก็น่าสนใจแล้ว จึงทำการสรุปไว้นิดหน่อย ส่วนตัวเต็ม ๆ ลองไปฟังจาก VDO ได้ครับแค่ 1 [&hellip

Read More…

เมื่อ MVC ย่อมาจาก Massive ViewController

เมื่อวานนั่งดู Code การพัฒนา iOS ด้วยภาษา Swift โจทย์เดียวกันจาก developer 4 คน แต่โครงสร้างของ code ที่ออกมานั้นเหมือนกัน นั่นคือเป็น MVC(Model View Controller) ในรูปแบบของ Apple ซึ่งส่วนใหญ่จะนำไปสู่ MVC ที่ย่อมาจาก Massive ViewController มากกว่านะ !! และนั่นคือความหายนะที่กำลังมาเยือนนักพัฒนาโดยทั้งรู้และไม่รู้ตัว

Read More…