
วันนี้ทำการ review code ที่เขียนด้วยภาษา Go กับทีมพบว่ามี pattern แปลก ๆ มาใน code ด้วยอาจจะเรียกได้ว่าเป็น B.A.D code ก็ได้ซึ่งขึ้ยอยู่กับ use case ด้วยเช่นกันเลยทำการสรุปไว้นิดหน่อย เพื่อใช้ในการปรับปรุงต่อไป
จากหนังสือ Programming Beyond Practices (Be more than just a code monkey) ได้แนะนำขั้นตอนการ review code ที่น่าสนใจดังนั้น ลองคิดดูสิว่า ถ้าเราเป็นลูกค้า หรือ ผู้ว่าจ้าง โดยที่รู้ด้วยว่าการเปลี่ยนแปลง code ต่าง ๆ จะเกิดผลกระทบ หรือ มีความเสี่ยงอะไรบ้าง ? เราน่าจะลดขั้นตอนการ review ต่าง ๆ ลงไป แล้วมาพยายามส่งมอบระบบงานให้ได้บ่อย ๆ ดีกว่าไหม
ในการพัฒนา software นั้นการทำงานเป็นทีมมันสำคัญมาก ๆ ยิ่งเรื่องของ code ที่มีคุณภาพ (Code Quality) ยิ่งสำคัญมากขึ้นไปอีก แต่สิ่งยากกว่าคือ จะทำการ review code อย่างไรดี ? เนื่องจากแต่ละคนในทีมล้วน มีสิ่งที่ต้องทำ มีสิ่งที่ต้องแก้ไข มีการเรียงลำดับความสำคัญของงานที่ต่างกัน ที่สำคัญคือ ทีมส่วนใหญ่เน้นการทำให้เสร็จมาก่อนทำให้ดี !! สิ่งที่ตามมาคือ การ rework หรือแก้งานเดิม ๆ อยู่ตลอดเวลา ดังนั้นก่อนอื่นเรามาทำความเข้าใจกับการ review code ก่อนว่า มันมีเป้าหมายอะไรบ้าง ? เพื่อทำให้ทุกคนในทีมมีความเข้าใจตรงกันและเห็นความสำคัญอีกด้วย
ข้อมูลจากผลแบบสำรวจ State of code quality 2016 โดย Smartbear.com โดยผู้ทำแบบสำรวจเป็น software developer และ tester กว่า 600 คน เป้าหมายเพื่อสอบถามว่า มีความพึงพอใจกับคุณภาพของ code ที่พัฒนาขึ้นมาหรือไม่ ? และทำการปรับปรุงคุณภาพขึ้นมาได้อย่างไร ? ซึ่งเป็นสิ่งที่สำคัญอย่างมากในการพัฒนา software ดังนั้นมาดูผลสรุปที่น่าสนใจกันนิดหน่อย
ไม่ว่าจะเป็น Code review, Test-Driven Development และ Continuous Integration ล้วนเป็นแนวปฏิบัติที่เกิดขึ้นมา เพื่อทำให้มั่นใจว่า code ที่ถูกสร้างขึ้นมาในแต่ละวัน มันมีคุณภาพที่ดีขึ้น โดยหลายทีม หลายองค์กร ได้นำไปใช้ในการพัฒนา software แต่หลาย ๆ ที่ก็ไม่นำแนวปฏิบัติเหล่านี้ไปใช้งาน หรือนำไปใช้แล้วกลับก่อให้เกิดปัญหาแทน ดังนั้นมาดูเหตุผลหลัก ๆ ว่ามันคืออะไร