- Bài viết về 5 quy tắc lập trình của Rob Pike năm 1989
- Quy tắc 1: Đừng giả định chương trình sẽ dành phần lớn thời gian ở đâu; điểm nghẽn có thể xuất hiện ngoài dự kiến. Hãy tránh các mẹo tối ưu tốc độ cho đến khi điểm nghẽn được chứng minh.
- Quy tắc 2: Luôn đo đạc trước khi tinh chỉnh vì tốc độ. Chỉ tối ưu hóa khi một phần của mã có ảnh hưởng đáng kể đến phần còn lại.
- Quy tắc 3: Khi n nhỏ, các thuật toán phức tạp sẽ chậm. Đây là trường hợp của hầu hết tình huống. Chỉ dùng thuật toán phức tạp khi n thường xuyên lớn, và ngay cả khi đó cũng hãy áp dụng Quy tắc 2 trước.
- Quy tắc 4: Các thuật toán và cấu trúc dữ liệu đơn giản là điều đáng mong muốn. Chúng ít dễ phát sinh lỗi hơn và dễ triển khai hơn so với những thứ phức tạp.
- Quy tắc 5: Cấu trúc dữ liệu đúng là yếu tố mang tính quyết định trong lập trình. Nếu dữ liệu được tổ chức tốt, thuật toán sẽ trở nên hiển nhiên.
- Quy tắc 1 và 2 của Pike phản ánh châm ngôn của Tony Hoare: "tối ưu hóa sớm là cội nguồn của mọi điều xấu".
- Ken Thompson diễn đạt lại Quy tắc 3 và 4 của Pike thành: "khi còn nghi ngờ, hãy dùng sức mạnh thô bạo".
- Quy tắc 3 và 4 hiện thực hóa triết lý thiết kế KISS (Keep It Simple, Stupid).
- Quy tắc 5 phù hợp với phát biểu trong 'The Mythical Man-Month' của Fred Brooks, thường được rút gọn thành "hãy viết đoạn mã ngốc sử dụng các đối tượng thông minh".
1 bình luận
Ý kiến trên Hacker News
nnhỏ thì các thuật toán phức tạp lại chậm, và trong đa số trường hợpnthường nhỏ