Comments Do Not Make Up for Bad Code
แปลมาจาก “Clean Code: A Handbook of Agile Software Craftsmanship”
หนึ่งในแรงกระตุ้นให้เราเขียน comment คือเราเขียนโค้ดในส่วนนั้นได้ห่วยแตก เพราะเมื่อมันห่วยแตกเราจะกังวลว่ามันถูกจัดการในภายภาดหน้าได้ยากเพราะมัน ยุ่งเหยิงดังนั้นเราคิดในใจเสมอว่า “เราควรเขียน comment ในส่วนนี้” แต่ในทางปฎิบัติที่ดีคือเราต้องจัดระเบียนโค้ดเราใหม่สิถึงจะถูก การที่เรามีโค้ดที่สามารถอธิบายตัวเองได้ทีมาพร้อมกับ comment ในปริมาณที่จำเป็นจะทำให้เรามีโค้ดที่มีคุณภาพมาก ดังนั้นเราควรใช้เวลาอันมีค่าของเราไปกับการเขียนโค้ดให้ดีจะมากกวว่าเสีย เวลาไปนั่งเขียน comment
Explain Yourself in Code
หลายครั้งที่เรา เห็นว่าโค้ดมันอธิบายตัวเองได้ห่วยแตกมาก แต่มี comment
// Check to see if the employee is eligible for full benefits if ((employee.flags & HOURLY_FLAG) && (employee.age > 65))
กับอีกอันที่เขียนแบบนี้
if (employee.isEligibleForFullBenefits())
แค่นี้เราคงพอจะตัดสินใจได้ว่าโค้ดแบบไหนดูแล้วน่าอ่านกว่ากัน ดังนั้นข้อควรทำคืืออย่ามัวเสียเวลาไปนั่งเขียน comment ให้เอาเวลาที่จะเสียไปนั้นมาเขียนฟังก์ชั่นที่ทำงานเหมือนกับที่เราจะเขียน comment จะดีกว่าไหม