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