Cách nào thực tế hơn để nhận xét, khai báo (trong tệp tiêu đề) hoặc định nghĩa (trong tệp nguồn)? Có lẽ tôi nên bình luận cả hai, hoặc không bình luận và đặt tất cả trong một tệp riêng biệt ...Tôi có nên nhận xét khai báo hoặc định nghĩa trong C++ không?
Trả lời
Bạn hoàn toàn nên ghi lại tệp tiêu đề có mức độ ưu tiên cao nhất.
Nhận xét trong định nghĩa phải được tập trung vào chi tiết triển khai, trong khi nhận xét tiêu đề phải được tập trung vào giao diện.
Nguồn tài liệu thứ ba, như bạn đã đề xuất, cũng hữu ích. Nó nên mô tả khái niệm tổng thể.
Một cộng lớn các tệp tiêu đề nhận xét là bạn có thể tạo tài liệu tự động từ chúng nếu bạn tuân thủ một số cú pháp đơn giản. Nói xin chào doxygen!
Phụ thuộc vào ý kiến của lời nhận xét và người bạn muốn đọc.
Tôi muốn thêm vào câu trả lời của ypnos:
Nơi nhận xét của bạn tùy thuộc vào người xem của bạn là ai. Suy nghĩ về mã nguồn của bạn như là nguồn đóng giúp trong vấn đề này: người bảo trì có thể thấy được việc triển khai, khách hàng/người dùng chỉ có thể nhìn thấy giao diện. Nếu nhận xét là cần thiết cho người dùng, nó phải đi trong giao diện. Nếu nhận xét chỉ liên quan đến việc triển khai đã cho, có thể chỉ cần đi vào triển khai (nhưng không nhất thiết, tùy thuộc vào đối tượng của bạn).
- 1. Tôi có nên khai báo các phương pháp này không?
- 2. Không khớp giữa định nghĩa hàm tạo và khai báo
- 3. Tôi có nên khởi tạo các biến mẫu trên khai báo hoặc trong hàm tạo không?
- 4. "where" có nghĩa là gì trong khai báo lớp C#?
- 5. Tôi có nên thêm throw() vào các khai báo cho các trình phá hủy C++ không?
- 6. Tuyên bố hoặc Định nghĩa trong C
- 7. Tại sao tôi nên có một liệt kê được khai báo với một typedef trong C++?
- 8. Tôi có nên triển khai onRetainNonConfigurationInstance không?
- 9. Nhận xét Javadoc có nên được thêm vào quá trình triển khai không?
- 10. "Nhận xét #pragma" có nghĩa là gì?
- 11. OK để đặt nhận xét trước khi khai báo XML?
- 12. Plugin nhận xét trên Facebook - không có thông báo
- 13. Nhận xét giao diện, triển khai hoặc cả hai?
- 14. Bạn có nên khai báo các enums bên trong hoặc bên ngoài một lớp học không?
- 15. Tôi có nên xem xét memmove() O (n) hoặc O (1) không?
- 16. Tôi có nên khai báo trình chuyển đổi trong App.xaml hoặc dưới dạng tài nguyên cho mỗi tệp không?
- 17. Làm thế nào để bỏ qua các khai báo struct và chỉ xem xét các định nghĩa trong cscope?
- 18. Tôi có nên khai báo các biến được tiêm dưới dạng tạm thời trong Java EE không?
- 19. Tôi có nên khai báo một cách rõ ràng các biến của mình trong VB6
- 20. Khai báo một từ đồng nghĩa loại trong C#
- 21. Tôi có thể đặt nhận xét bên trong thẻ trong ASP.NET không?
- 22. Khi nào sử dụng các tệp Header không khai báo lớp nhưng có định nghĩa hàm
- 23. Tôi có nên khai báo ObjectMapper của Jackson là một trường tĩnh không?
- 24. Tôi có thể khai báo một chuỗi trong một tệp tiêu đề theo định nghĩa của một lớp không?
- 25. Tôi có nên sử dụng ivars trong Objective-C không?
- 26. Tôi nên có những lo ngại gì nếu tôi sử dụng Smart :: Nhận xét trong mã phát triển?
- 27. Tôi có nên sử dụng đặt tên trường hợp cao hơn để khai báo biến cố định java không?
- 28. % có nghĩa là gì trong khai báo bên ngoài OCaml?
- 29. Tôi có nên khai báo logger logger một lần cho mỗi lớp hoặc trong lớp cơ sở?
- 30. Tôi nên đặt chú thích @Transactional ở đâu: ở định nghĩa giao diện hoặc ở lớp triển khai?
Tôi không nói câu trả lời được chọn là sai (tôi đồng ý với nó), nhưng tôi không biết làm thế nào ai đó có thể chấp nhận câu trả lời không thực nghiệm bốn phút sau khi yêu cầu. –
Có ý nghĩa với tôi khi tôi đọc nó ... Đó có phải là điểm của trang web này không? Nếu không, thì người hỏi sẽ không thể chọn câu trả lời. –
Chắc chắn, nhưng sau 4 phút, làm cách nào để bạn biết rằng câu trả lời hay hơn hoặc sâu sắc hơn sẽ không xuất hiện. Tôi chỉ thấy nó kỳ lạ, vậy thôi. –