- ข้อความนี้กล่าวถึงกฎการเขียนโปรแกรม 5 ข้อของ Rob Pike ซึ่งให้แนวทางเกี่ยวกับการปรับแต่งโค้ดให้เหมาะสม รวมถึงการเลือกโครงสร้างข้อมูลและอัลกอริทึมที่เหมาะสม
- กฎข้อที่ 1 ระบุว่านักพัฒนาไม่สามารถคาดเดาได้ว่าโปรแกรมจะใช้เวลาส่วนใหญ่อยู่ที่จุดใด ซึ่งหมายความว่าควรลงมือแฮ็กเพื่อความเร็วหลังจากยืนยันคอขวดที่แท้จริงแล้วเท่านั้น
- กฎข้อที่ 2 เน้นความสำคัญของการวัดผลก่อนการปรับจูนเพื่อความเร็ว โดยชี้ว่าควรทำการปรับแต่งก็ต่อเมื่อมีบางส่วนของโค้ดที่ส่งผลต่อประสิทธิภาพโดยรวมอย่างมีนัยสำคัญ
- กฎข้อที่ 3 เตือนถึงการใช้อัลกอริทึมที่ซับซ้อนเมื่อขนาดอินพุต (n) ยังเล็ก เพราะมักจะช้ากว่าเนื่องจากมีค่าคงที่ขนาดใหญ่
- กฎข้อที่ 4 แนะนำให้ใช้อัลกอริทึมและโครงสร้างข้อมูลที่เรียบง่าย เพราะมีแนวโน้มเกิดบั๊กน้อยกว่าแบบซับซ้อนและนำไปใช้ได้ง่ายกว่า
- กฎข้อที่ 5 ระบุว่าการเลือกโครงสร้างข้อมูลที่เหมาะสมอาจทำให้อัลกอริทึมที่เหมาะสมชัดเจนขึ้น และตอกย้ำความสำคัญของโครงสร้างข้อมูลในงานเขียนโปรแกรม
- กฎข้อที่ 1 และ 2 ของ Pike สะท้อนคำกล่าวอันโด่งดังของ Tony Hoare ที่ว่า "การปรับแต่งก่อนเวลาอันควรคือรากเหง้าของความชั่วร้ายทั้งปวง"
- Ken Thompson เรียบเรียงกฎข้อที่ 3 และ 4 ของ Pike ใหม่เป็น "เมื่อไม่แน่ใจ ก็ใช้วิธี brute force" ซึ่งสอดคล้องกับแนวคิดการออกแบบ KISS (Keep It Simple, Stupid)
- กฎข้อที่ 5 มักถูกสรุปว่า "เขียนโค้ดโง่ ๆ ที่ใช้วัตถุฉลาด" ซึ่งเคยถูกกล่าวถึงมาก่อนในหนังสือ The Mythical Man-Month ของ Fred Brooks
1 ความคิดเห็น
ความคิดเห็นบน Hacker News