วันนี้มี 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 และอธิบายให้คนอื่น ๆ ฟังครับ
จะเป็นการอ่านและศึกษาที่สนุกและรวดเร็วอย่างมาก