Bất cứ khi nào tôi phát hiện ra rằng một phần lớn mã của tôi cần phải được thay đổi, vì nó không chính xác hoặc vì nó cần phải được điều chỉnh theo các thay đổi kiến trúc chính được yêu cầu bởi các lý do khác, đây là điều tôi thường làm:
- Tôi nhận xét tất cả các mã mà tôi nghi ngờ tôi có thể phải thay đổi. Tôi coi mã nhận xét là một loại danh sách TODO của mình.
- Tôi dần dần xem lại mã nhận xét và các phần không ghi chú của mã này hoặc sao chép-dán chúng ở nơi khác và sau đó chỉnh sửa chúng khi cần thiết hoặc viết lại các phần của mã này từ đầu, xem mã nhận xét để tham khảo. Bất cứ khi nào tôi nghĩ rằng tôi đã hoàn thành với một phần của mã nhận xét, tôi sẽ xóa nó.
- Tôi tiếp tục điều này cho đến khi tôi không thể thấy thêm mã nhận xét.
Tôi nên lưu ý rằng phần lớn tôi đang làm điều này trong dự án cá nhân mà tôi đang phát triển một mình.
Tuy nhiên, tôi đã nói rằng tôi nên ngừng làm việc này. Tôi được cho biết rằng thay vào đó, tôi nên bắt đầu sử dụng git, tham khảo các cam kết cũ để xem mã cũ, thay vì để lại mã nhận xét. Tôi đã nói:
Nhận xét mã là một thói quen xấu cần được xóa sạch. Bạn thiếu kinh nghiệm nên bạn không hiểu điều đó. Nếu trong một vài năm, bạn thấy mã của một người khác thích bình luận mã, bạn sẽ tự bắt đầu chửi rủa người này. Bất cứ khi nào tôi thấy mã nhận xét, tôi loại bỏ toàn bộ mã, thậm chí không cần nhìn vào mã, vì thông thường mã như vậy là hoàn toàn vô giá trị. Bạn chắc chắn sẽ không nhìn thấy nhược điểm của việc bình luận mã trong các dự án nhỏ, một người; nhưng nếu bạn tìm được một công việc và giữ thói quen này thì đó sẽ là một sự xấu hổ.
Tôi có thể hỏi những nhược điểm của những gì tôi đang làm mà tôi không thấy bây giờ không?
Tôi phải nói rằng tôi không thực sự quan tâm đến việc chỉ sử dụng git để xem mã trong quá khứ. Như tôi đã nói, tôi coi việc bình luận mã là một loại danh sách việc cần làm; trong khi git sẽ chỉ cho tôi cách mã được sử dụng để tìm kiếm, nó sẽ không hiển thị rõ cho tôi phần nào của mã vẫn cần được xem xét và phần nào đã được thực hiện. Tôi sợ rằng tôi có thể bỏ lỡ một phần của mã và giới thiệu lỗi.
Để đầy đủ, tôi cảm thấy tôi nên nói thêm rằng người tôi đang trích dẫn là một nhà phát triển có kinh nghiệm và là người hâm mộ "Mã sạch" của chú Bob - và chú Bob đã chỉ trích bình luận mã một cách gay gắt trong cuốn sách của ông.