5 quy tắc lập trình của Rob Pike
Rob Pike's 5 Rules of Programming
Rob Pike đưa ra 5 quy tắc lập trình, nhấn mạnh việc phát triển thực tế thay vì tối ưu hóa quá sớm. Đối với các developer, điểm cốt lõi là đừng đoán mò về các điểm nghẽn hiệu năng mà hãy luôn đo đạc trước khi tối ưu (Quy tắc 1 & 2). Nên sử dụng các thuật toán và cấu trúc dữ liệu đơn giản trừ khi thực sự cần thiết cho tập dữ liệu lớn, vì sự phức tạp thường dẫn đến bug và overhead không mong muốn (Quy tắc 3 & 4). Cuối cùng, hãy tập trung vào việc lựa chọn cấu trúc dữ liệu phù hợp, vì chúng thường là yếu tố quyết định để có được những thuật toán đơn giản và hiệu quả (Quy tắc 5).
Bạn không thể biết một chương trình sẽ dành thời gian ở đâu. Tắc nghẽn xảy ra ở những nơi đáng ngạc nhiên, vì vậy đừng cố đoán lần thứ hai và hack tốc độ cho đến khi bạn chứng minh được đó là nơi tắc nghẽn...
- Quy tắc 1. Bạn không thể biết một chương trình sẽ dành thời gian ở đâu. Tắc nghẽn xảy ra ở những nơi đáng ngạc nhiên, vì vậy đừng cố gắng đoán lần thứ hai và hack tốc độ cho đến khi bạn chứng minh được đó là nơi tắc nghẽn.
- Quy tắc 2. Biện pháp. Không điều chỉnh tốc độ cho đến khi bạn đã đo, và thậm chí sau đó không trừ khi một phần của mã lấn át phần còn lại.
- Quy tắc 3. Các thuật toán ưa thích chậm khi n nhỏ và n thường nhỏ. Các thuật toán ưa thích có hằng số lớn. Cho đến khi bạn biết rằng n thường xuyên sẽ lớn, đừng ưa thích. (Ngay cả khi n không lớn, hãy sử dụng Quy tắc 2 trước.)
- Quy tắc 4. Các thuật toán lạ mắt khó sử dụng hơn các thuật toán đơn giản và chúng khó thực hiện hơn nhiều. Sử dụng các thuật toán đơn giản cũng như các cấu trúc dữ liệu đơn giản.
- Quy tắc 5. Dữ liệu chiếm ưu thế. Nếu bạn đã chọn đúng cấu trúc dữ liệu và tổ chức mọi thứ tốt, các thuật toán hầu như sẽ luôn hiển nhiên. Cấu trúc dữ liệu, không phải thuật toán, là trung tâm của lập trình.
Quy tắc 1 và 2 của Pike nhắc lại câu châm ngôn nổi tiếng của Tony Hoare "Tối ưu hóa sớm là gốc rễ của mọi điều xấu xa."
Ken Thompson diễn đạt lại quy tắc 3 và 4 của Pike là "Khi nghi ngờ, hãy sử dụng vũ lực.".
Quy tắc 3 và 4 là các trường hợp của KISS triết lý thiết kế.
Quy tắc 5 trước đây đã được Fred Brooks tuyên bố trong The Mythical Man-Month. Quy tắc 5 thường được rút ngắn thành "viết mã ngu ngốc sử dụng các đối tượng thông minh".
Tác giả: vismit2000