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