คำตอบที่สั้นกว่าดีกว่าและถูกต้อง
ความคิดที่ว่า "โค้ดที่บันทึกในตัวเอง" ที่เขียนอย่างดีคือสิ่งที่คุณต้องการคือแอนตี้ - แพตเทิร์นและควรจะตายแม้ว่ามันจะสร้างข้อยกเว้นสำหรับความคิดเห็นที่อธิบายว่า "ทำไม" มันเป็นตำนานที่คุณสามารถเขียนโค้ดทั้งหมดสำหรับอัลกอริทึมใด ๆ ที่ชัดเจนเพียงพอสำหรับโปรแกรมเมอร์ที่จะมองและรับมัน (หรือมันไม่จำเป็นต้องทำการเปลี่ยนโครงสร้างหรือเวลาขององค์กรที่คุณไม่มี) ที่สำคัญยิ่งกว่านั้นบ่อยกว่าผู้เขียนโปรแกรมที่คิดว่าพวกเขาเขียนโค้ดที่ชัดเจนไม่ได้
คำตอบที่ดีกว่าความคิดเห็นควรใช้เพื่ออธิบายว่า "ทำไม" เท่านั้นความคิดเห็นควร:
- อธิบายว่า "ทำไม" (แน่นอน)
- อธิบายว่า "อะไร" ในแต่ละบรรทัดเฉพาะเมื่อโค้ดนั้นซับซ้อนหรือวัตถุประสงค์นั้นไม่ชัดเจนและไม่สามารถหรือไม่คุ้มที่จะทำให้ง่ายขึ้นอีก
- อธิบายว่า "อะไร" สำหรับกลุ่มของรหัสเพื่อเร่งความเข้าใจและค้นหาสิ่งที่คุณต้องการ
คำอธิบายการสำรองข้อมูล
ผู้คนคิดอย่างผิด ๆ ว่าเหตุผลเดียวที่คนใช้ความคิดเห็นคือการอธิบายความหมายของบรรทัดรหัส ความจริงคือจุดประสงค์ในการแสดงความคิดเห็นรหัสขนาดใหญ่คือการทำให้เร็วขึ้นเพื่อดูรหัสของคุณและค้นหาสิ่งที่คุณต้องการ เมื่อฉันกลับมาที่รหัสในภายหลังหรืออ่านรหัสของคนอื่นแน่นอนฉันสามารถอ่านและทำความเข้าใจส่วนของรหัสที่เขียนได้ดี - แต่ไม่เร็วกว่าและง่ายกว่าในการอ่านความคิดเห็นที่ด้านบนว่าส่วนของรหัสนั้นทำอะไรและ ข้ามไปเลยหากไม่ใช่สิ่งที่ฉันกำลังมองหาอยู่ ทำไมต้องนั่งอยู่ที่นั่นและคิดรหัสเลยแม้ว่าจะเขียนได้ดีถ้าคุณสามารถดูความคิดเห็นที่คู่และเข้าใจฟังก์ชั่นทั้งหมดได้ นั่นเป็นเหตุผลที่เราใช้ชื่อที่เป็นคำอธิบายสำหรับฟังก์ชั่น - ไม่มีใครบอกว่าฉันไม่จำเป็นต้องใช้ชื่อที่สื่อความหมายสำหรับฟังก์ชั่นของฉันเพราะบางคนสามารถมองผ่านโค้ดที่เขียนอย่างหมดจดเพื่อดูว่ามันทำอะไร
ตัวอย่างเช่นถ้าฉันมองผ่านฟังก์ชั่นของคนอื่นมันจะง่ายกว่าไหมที่จะทำทีละบรรทัดเพื่อดูว่ามันกำลังทำอะไรอยู่หรือจะมองไปที่ความคิดเห็นที่เป็นลายลักษณ์อักษรสามข้อทั่วทั้งฟังก์ชั่น มันกำลังทำอะไร
รูปแบบการต่อต้านอีกอย่างก็คือฟังก์ชั่นการใช้งานที่เกินความคิดเห็น ฟังก์ชั่นที่มีชื่อเป็นส่วนสำคัญของเอกสารรหัส แต่บางครั้งโปรแกรมเมอร์เขียนโค้ด 2-3 บรรทัดซึ่งจะไม่ถูกนำไปใช้ที่อื่นในฟังก์ชั่นเพื่อวัตถุประสงค์ด้านเอกสาร ทำไมการใช้ฟังก์ชั่นมากเกินไปจึงดีกว่าการแสดงความคิดเห็นมากเกินไป? การใช้ฟังก์ชั่นแบบนั้นเหมือนกับการกอดคำสั่ง GOTO - มันสร้างรหัสสปาเก็ตตี้ที่อาจทำให้เกิดความเจ็บปวดได้
โดยพื้นฐานแล้วเมื่อคุณทำงานในสภาพแวดล้อมขององค์กรที่ผู้คนแบ่งปันรหัสอย่างต่อเนื่องและผู้คนไม่มีเวลาที่จะทำให้รหัสของพวกเขาสมบูรณ์แบบความคิดเห็นที่ดีบางอย่างสามารถประหยัดเวลาและความยุ่งยากมากมาย และจำไว้ว่าในขณะที่คุณอาจเป็นกูรูที่สามารถอ่านรหัสได้ด้วยความเร็วแสงอาจไม่ใช่ทุกคนในสำนักงานของคุณ