ลืมเขียน Comment ทำยังไงดี

Nimit Suwannagate (EThaiZone)
E-Commerce Solution
1 min readSep 25, 2016

อันนี้เป็นปัญหาหนึ่งที่นักพัฒนาทุกคนต้องเจอครับ แต่กลับไม่รู้ว่ามันเป็นปัญหาเลย เพราะ “โปรแกรมมันทำงานได้ดี” น่ะครับ

ทุกคนเวลาที่เขียนโปรแกรมก็มักจะนำสิ่งที่คิดอยู่ในหัวมาเขียนๆ จากนั้นก็รันทดสอบ เกิดกระบวนการทำซ้ำจนกระทั่งบรรทัด definition of done ของงานนั้นๆ commit และก็จบงาน โดยไม่รู้ตัวว่าในภายหลังเมื่อต้องกลับมายุ่งกับงานส่วนนี้ ไม่ว่าจะแก้บั๊กหรือเพิ่ม feature ใหม่ก็ตาม

“มีแต่พระเจ้าเท่านั้นที่รู้” — นักพัฒนาท่านหนึ่งได้กล่าวเอาไว้

นี้ยังไม่รวมถึงกรณีคุณต้อง transfer project นั้นๆ ให้คนอื่นหรือทีมดูแลของลูกค้าไปจัดการต่อ คุณส่งโค้ดที่ไม่ได้ comment ไปให้ ถามสั้นๆ ครับ “มีแอบอายบ้างไหม?”

แล้วจะแก้ปัญหายังไง

เชื่อไหมครับว่าผมมีวิธีแก้ปัญหาหนึ่งที่ง่ายสุดๆ ง่ายชนิดว่ามันจะเปลี่ยนวิธีเขียนโปรแกรมของคุณเลย แนวคิดง่ายๆครับ

ให้เขียน Pseudocode เป็น comment ครับ ซึ่งในที่นี้ผมไม่ได้หมายถึง Pseudocode แบบที่มีคนเขียนอธิบายไว้ใน Wikipedia นะครับ แต่ผมหมายถึงอะไรที่ง่ายกว่านั้น คือ เขียนคำอธิบายเป็นข้อความมนุษย์ไว้ครับ ให้อธิบายไปเลยว่าคุณจะทำอะไร จะใช้ภาษาไหนก็ได้ แต่แนะนำอังกฤษดีสุดเพื่อฝึกตัวเอง

ตัวอย่างดูตาม gist ข้างล่างนี้ครับ

นี้เป็นแค่ตัวอย่างง่ายๆ ครับ โดยสิ่งหนึ่งที่คุณต้องยึดถือเอาไว้คือ อย่าเขียนโค้ดที่ไม่สามารถอธิบายเป็น comment ด้วยภาษาคนได้ครับ เมื่อคุณค้นพบว่าคุณไม่สามารถเขียน comment นำก่อนได้ แสดงว่าโปรแกรมของคุณนั้นมีความซับซ้อนเกินไปที่จะอยู่จุดนั้นจุดด้วย มันจะช่วยป้องกันไม่ให้ให้คุณ่สร้างสปาเก็ตตี้โค้ดโดยไม่ได้ตั้งใจ

นอกจากนั้นการเขียน comment นำแบบนี้ ยังบังคับให้คุณต้องเขียนโปรแกรมในที่ของมัน เพราะมันคงไม่สวยเลยถ้าคุณไปเขียน comment อะไรแบบนี้ไว้ที่หน้า view

และสุดท้าย ถ้าคุณได้ลองทำไปสักพัก คุณจะพบว่าคุณก่อบั๊กน้อยลงมากเลยล่ะ มันเป็นข้อดีมากๆ อีกข้อหนึ่งเลย

จงอย่าเขียนสิ่งที่คุณอธิบายไม่ได้ครับ

ปล. ตัวผมเองตอนนี้ก็ยังปรับนิสัยอยู่ครับ บางครั้งก็มีหลงๆ ลืมๆ เหมือนกัน 555+

--

--