วันนี้นั่งดู code ช่วงบ่ายในขณะที่ฝนกำลังถล่ม กทม
เจอชุด comment ที่น่าสนใจ ซึ่งนักพัฒนาทุกคนน่าจะเคยเห็นผ่านตามาแล้ว
ทั้งเกิดจากการ generate แบบอัตโนมัติจาก IDE
ทั้งเขียนจากคนอื่น รวมทั้งตัวเราเองด้วย
นั่นคือ TODO และ FIXME

คำถามที่น่าสนใจคือ

  • มันคืออะไร ?
  • เขียนไว้ทำไม ?
  • ทำไมไม่มีใครมาลบมันออก ?

มาหาคำตอบกัน

TODOs มันมีไว้เพื่อบอกว่า

ตรงไหนที่เรากำลังทำหรือแก้ไขอยู่นั่นเอง
ตรงไหนที่เรายังทำไม่เสร็จ
FIXME มันมีไว้เพื่อบอกว่า
code ส่วนไหนที่มีข้อผิดพลาด
เพื่อทำให้มันดีขึ้น หรือ ทำให้ถูกต้อง

ที่สำคัญบรรดาเครื่องมือ และ IDE/Editor ต่าง ๆ
ยังสนับสนุนอีกด้วย นั่นหมายความว่า
เขียนไว้ตรงไหนแล้ว IDE จะทำการสรุปรวมไว้ให้
ซึ่งมันน่าจะเป็นสิ่งที่ดีมาก ๆ

แต่เมื่อเวลาผ่านไป เราจะพบว่า

จำนวนของ TODO และ FIXME มันเยอะขึ้นเรื่อย ๆ
จนน่าประหลาดใจ
บางคนก็ไม่สนใจ มองว่าเป็นเรื่องปกติ

ทำไมถึงเยอะขึ้นเรื่อย ๆ นะ ?
อาจจะเป็นเพราะว่า ลืม
อาจจะเป็นเพราะว่า ไม่มีเวลา
อาจจะเป็นเพราะว่า งานเยอะ งานยุ่ง
อาจจะเป็นเพราะว่า เราทำงานแบบ multi-tasking
อาจจะเป็นเพราะว่า เราไม่ได้เขียน
อาจจะเป็นเพราะว่า ขี้เกียจ
อาจจะเป็นเพราะว่า เดี๋ยวเอาไว้ก่อน
อาจจะเป็นเพราะว่า …

ในการทำงานนั้น
TODO น่าจะเป็นงานที่ทำในแต่ละวันหรือไม่นะ ?
FIXME น่าจะเป็นปัญหาที่ต้องแก้ไขในแต่ละวันหรือไม่นะ ?

ผมเชื่อว่ามันมีมุมให้มองสองด้านเสมอ
อยู่ที่ว่าเราจะมองมุมไหนเท่านั้นเอง

สุดท้ายด้วยคำถามง่าย ๆ ว่า

วันนี้คุณมี TODO และ FIXME แล้วหรือยัง ?
มีใครไปลบ TODO และ FIXME ใน code ทิ้งไหม ?
ระบบงานที่คุณพัฒนามีจำนวนของ TODO และ FIXME ใน code จำนวนเท่าไร ?

ขอให้สนุกกับการ coding ครับ