วันนี้มี developer มาถามเรื่องหนังสือเกี่ยวกับ programming
ว่าควรจะอ่านหนังสืออะไรบ้าง ?
เล่มแรกที่ผมแนะนำให้อ่านก็คือ Clean Code - A Handbook of Agile Software Craftsmanshipในหนังสือเล่มนี้อธิบายแนวปฏิบัติที่ดีสำหรับการพัฒนา software ถึงแม้ว่าหนังสือจะเก่าหน่อย แต่เนื้อหาส่วนใหญ่ยังแจ่มมาก ๆ ปล. เป็นหนังสือที่นักพัฒนาต้องอ่านกันเลยนะ ดังนั้นจึงทำการสรุปเนื้อหาหลัก ๆ ไว้นิดหน่อย
- ว่าด้วยเรื่อง Clean Code เป็นสิ่งที่ developer มืออาชีพต้องทำโดยไม่มีข้อยกเว้น
- Developer ต้องสร้างระบบที่เรียบง่าย ไม่ว่าภาษาโปรแกรมจะซับซ้อนก็ตาม
- สิ่งที่คิดและสิ่งที่เขียนออกมาต้องสื่อสารได้อย่างชัดเจนทั้งชื่อและการทำงาน
- การเขียน code ต้องอ่านง่าย ทั้งโครงสร้างและชื่อ เปรียบได้กับการเขียนหนังสือนั่นเอง
- เรื่องของ Single Responsibility Principle( SRP) มีความสำคัญอย่างมากสำหรับการออกแบบและพัฒนา
- เรื่องของ Open Closed Principle (OCP) ก็สำคัญไม่น้อยไปกว่ากัน ช่วยลดผลกระทบจากการเพิ่มและแก้ไข
- แนวคิด Don’t Repeat Yourself (DRY) เพื่อช่วยลด duplication code ลงไป ซึ่งเป็นปัญหาใหญ่ของการพัฒนา software
- ให้จำไว้ว่า devloper ใช้เวลาในการอ่าน code มากกว่าการเขียนถึง 10 เท่านั้น ดังนั้นจะลดเวลาของการอ่าน code ลงได้อย่างไร ?
- การจัดการ exception นั้นถ้าเกิดข้อผิดพลาดขึ้นมา ให้โยน exception ออกไป (อาจจะขัดแย้งกับบางภาษา)
สุดท้ายแล้ว เมื่ออ่านแล้วก็ต้องลงมือทำด้วยนะปล. developer บางคนบอกว่ามีปัญหากับการอ่านหนังสือภาษาอังกฤษ ผลแนะนำให้อ่านและแปลมาเป็นภาษาไทยครับ จากนั้นเอามา review และอธิบายให้คนอื่น ๆ ฟังครับ จะเป็นการอ่านและศึกษาที่สนุกและรวดเร็วอย่างมาก