Tôi đã suy nghĩ về chủ đề này trong một thời gian.
Kết luận của tôi là - đó không phải là vấn đề về số lượng, mà là chất lượng và bối cảnh.
Ví dụ, một cấu trúc dự án phù hợp đánh bại các bình luận giải thích vị trí của các tệp (thực hiện so với cường độ)
Tương tự, phân loại để làm rõ bối cảnh nhịp đặt tên (Id trên một bệnh nhân -> Bệnh nhân.Id).
Tôi tin rằng DDD có tiếng nói trong tài liệu tốt - phân loại cung cấp bối cảnh, bối cảnh tạo ra ranh giới và ranh giới dẫn đến việc triển khai có chủ ý (đây là nơi nó thuộc về, thay vì nó cần tồn tại).
Bản thân mã không đủ tốt để được coi là tài liệu. Vấn đề trong hầu hết các trường hợp không nằm trong thực tế là hoạt động của các mã được nhận xét hoặc không được nhận xét, nhưng thay vào đó, động lực (logic miền) thì không.
Đôi khi chúng ta quên ông chủ của ai - nếu mã thay đổi, logic miền hoặc lý luận không nên, nhưng nếu logic miền hoặc lý luận thay đổi thì mã chắc chắn sẽ.
Tính nhất quán cũng rất quan trọng - bản thân quy ước là vô ích nếu nó không nhất quán.
Các mẫu thiết kế không chỉ là 'thực hành tốt' - đó là điều mà các nhà phát triển nên hiểu. Nói cho nhà phát triển thêm loại mới vào Nhà máy được hiểu rõ hơn là thêm loại mới vào phương thức (trong đó bối cảnh và tính nhất quán yếu hoặc thiếu).
Một nửa cuộc đấu tranh là sự quen thuộc .
Mặt khác, các API dường như thiên về nhiều tài liệu cũng rất nhạy cảm với miền và ngữ cảnh. Đôi khi chức năng sao chép không phải là xấu (cùng một thứ, các bối cảnh khác nhau) và nên được coi là riêng biệt.
Về mặt bình luận, thật tốt khi chỉ ra logic miền đằng sau lý luận.
Ví dụ, bạn đang làm việc trong ngành y tế. Trong phương thức của bạn, bạn viết "IsPatientSecure = true;"
Bây giờ, bất kỳ lập trình viên tử tế nào cũng có thể nhận ra rằng bệnh nhân đang được đánh dấu là an toàn. Nhưng tại sao? Ý nghĩa là gì?
Trong trường hợp này, bệnh nhân là một tù nhân được chuyển đến bệnh viện ngoài cơ sở một cách an toàn. Biết điều này, sẽ dễ dàng hơn để tưởng tượng các sự kiện dẫn đến thời điểm này (và có lẽ những gì vẫn cần phải xảy ra).
Có thể bài đăng này có vẻ triết lý nhất - nhưng hãy nhớ rằng đó là 'lý luận' hoặc 'logic' mà bạn đang viết - không phải là mã.