Tôi nghĩ chủ đề được lựa chọn tốt. Thật tuyệt vời khi viết một dòng Perl thực hiện mười nghìn thứ cùng một lúc, nhưng sau đó nó thật tệ khi bạn phải xem lại nó.
Trên một lưu ý khác, thông minh hay không, mã phải được ghi lại. Có một sự không phù hợp trở kháng cố hữu giữa các ngôn ngữ lập trình được ngành công nghiệp chấp nhận và các khái niệm cấp cao mà chúng ta là con người đã quen với suy nghĩ của chúng ta. Mã tự viết tài liệu đơn giản là không thể thực hiện được - cho đến khi nó trở thành ngôn ngữ tự nhiên, đó là. Ngay cả mã Prolog cũng cần phải được ghi lại, tuy nhiên, ở mức độ cao, nó vẫn còn khá trang trọng.
Mã mệnh lệnh hạt mịn phục vụ để thực hiện các kế hoạch hạt thô - cần phải được ghi lại. Tôi không muốn phải đọc qua tất cả 50 dòng của phương pháp khi nhận xét lộ trình 3 dòng nhanh sẽ thực hiện.
Chỉnh sửa sau: Một ví dụ hùng hồn hơn là một ví dụ vượt qua máy tính. Một cuốn sách có thể được viết rất tốt, nhưng chúng ta thường muốn xử lý nó ở các mức độ trừu tượng khác nhau. Thông thường, một bản tóm tắt của cuốn sách sẽ làm, và đó là những gì bình luận có thể cung cấp cho mã. Tất nhiên mã được trừu tượng hóa tốt có thể đi một chặng đường dài hướng tới tài liệu tự, nhưng nó không thể cung cấp cho bạn tất cả các mức độ trừu tượng.
Và các bình luận cũng có thể hoạt động như sidenote trong một cuốn sách, khi chúng ta cần giải thích quá trình suy luận đằng sau một yêu cầu trong văn bản chính mà không làm hỏng nó.
Với bối cảnh này, tôi thấy rằng tuyên bố trước đây của tôi đề cập đến ngôn ngữ tự nhiên vượt quá nhu cầu bình luận là không chính xác. Ngay cả ngôn ngữ tự nhiên, như trong một cuốn sách, cũng có thể tự cho mình mượn tài liệu, để giải thích một cách thưa thớt sự trừu tượng được thể hiện trong văn bản, hoặc để cung cấp các đường vòng mà không làm hỏng văn bản chính. Với lưu ý rằng mã được trừu tượng hóa tốt có thể đã đi một chặng đường dài hướng tới việc tự ghi lại tài liệu.
Cuối cùng, nhưng không kém phần quan trọng, các bình luận có thể giúp người viết mã giữ mức độ trừu tượng cao. Đôi khi tôi nhận ra rằng hai bình luận liên tiếp tôi đưa vào danh sách các bước không nói ở cùng mức độ trừu tượng, điều này ngay lập tức đảm bảo một cái nhìn quan trọng về những gì tôi đang làm với mã đó.
Một số vấn đề vượt qua mã hóa và ảnh hưởng đến mã hóa giống như các hoạt động khác. Nhận xét có thể cung cấp trợ giúp trong việc làm rõ lý do đằng sau và các khía cạnh của mã của chúng tôi và tôi thấy chúng là một người bạn đồng hành dễ chịu nói một ngôn ngữ nhẹ nhàng hơn để mang lại lợi ích cho người đó để thay đổi.