Hầu hết các hướng dẫn kiểu C# đều khuyên bạn nên chống lại kiểu/* ... */nhận xét, có lợi cho // hoặc ///. Tại sao phong cách cũ để tránh?Kiểu mã hóa C#: nhận xét
Trả lời
Tôi sẽ không nói rằng tôi có quan điểm mạnh mẽ về vấn đề này - nhưng IMO là vấn đề lớn nhất là /*
và */
bị lộn xộn nếu bạn lồng nhau, với tác dụng phụ không thể sao chép/dán khối xung quanh một cách an toàn (khá).
Bạn có thể quá dễ dàng kết thúc bằng mã sai đã nhận xét/bật hoặc có thể kết thúc với mã không biên dịch vì bạn đã kết thúc bằng số /* /* */ */
.
Nếu bạn sao chép một khối //
xung quanh, không gây hại - chỉ những dòng đó vẫn được nhận xét.
Chúng hoàn toàn không làm tổ. –
@Justin: chính xác ;-p –
/* */
là tốt cho các khối mã nhiều dòng. Ví dụ: ở đầu tệp mã, thông tin bản quyền, v.v.
//
dễ dàng hơn cho một dòng.
Luôn sử dụng ///
cho ít nhất tất cả thành viên công khai trong một lớp vì tài liệu XML của bạn được tạo từ lớp mà từ đó bạn có thể tạo tệp trợ giúp.
Tôi nghĩ rằng bạn nhận xét như bạn muốn vì hầu hết chúng ta đều đang nhận xét qua các lối tắt trong Visual Studio. Tôi sử dụng ctr+K, ctrl+C
tất cả các hàng đã chọn được tạo thành và ctr+K ctrl+U
để bỏ ghi chú các hàng đã chọn.
Không phải là CTRL + E, C và CTRL + E, U? –
có một số VS có sự kết hợp này nhưng tôi không biết làm thế nào tôi sử dụng mà một cho bất kỳ cài đặt tôi đã thực hiện bởi bản thân mình.Một cái gì đó là với Carma của tôi :). –
Tôi đoán là vì người ta yêu cầu cú pháp rõ ràng trên dòng EACH và một người tạo các nhận xét có thể nhận xét các phần mã lớn nếu đóng */
không được sử dụng. Nó không an toàn.
Ý kiến của tôi là "//" chỉ là dễ dàng hơn để gõ vào hơn/**/
+1 để không làm cho tôi lang thang xung quanh bàn phím để nhấn shift-8 –
Tôi luôn sử dụng numpad/và * ở vị trí ngay bên cạnh eachother mà không cần sử dụng Shift. – JulianR
Một ví dụ mà nói đến cái tâm là nó có thể vô tình làm gián đoạn một bình luận /*
phong cách. Ví dụ:
/* This is the start of a comment that documents the
behavior of the +-*/ operators in our program
*/
Mã này không biên dịch, trong khi biến thể //
sẽ thay đổi. Ngoài ra, ///
thể hiện một phong cách cụ thể của tài liệu mà các công cụ bên ngoài phản hồi khác nhau.
Tôi nghĩ rằng /* */
cuối cùng sẽ đi theo cách của Dodo vì trong Visual Studio bạn chỉ có thể chọn một khối mã và nhấn CTRL-E, C để nhận xét nó bằng cách sử dụng kiểu //
.
+1 Đánh tôi với nó. :) – Dusty
Ctrl + Alt +/trong Resharper hoặc/hoặc 'trong CodeRush. –
Tôi luôn sử dụng // cho COMMENTS thực, trong khi tôi lưu/* */cho mã tạm thời không muốn chạy cho mục đích gỡ lỗi/phát triển.
Bằng cách chỉ sử dụng //, bạn có thể chắc chắn rằng bạn có thể nhận xét một khối lớn các dòng/phương thức, v.v. mà không có nhận xét lồng và làm cho trình biên dịch của bạn khóc.
Có một vài lý do để thích // đến/* .. * /.
- Như JaredPar đã đề cập, có các vấn đề gây chú thích lạ có thể nảy sinh với/* */usage.
- Nếu bạn từng viết/viết một số mã xử lý tệp mã nguồn, bạn sẽ thực sự vui nếu phương thức // là tất cả những gì bạn phải xử lý.
- Dễ dàng phát hiện ra một khối mã nhận xét lớn hơn bằng phương pháp "//", đặc biệt nếu không tô màu cú pháp. Trong thực tế, bạn sẽ thường thấy các dòng riêng lẻ trong một/* */block được đặt trước bằng dấu *, chỉ để an toàn.
- Kiểu nhận xét XML có thể được sử dụng để tạo tài liệu mã yêu cầu "///" được sử dụng.
Một điều mà/* */có thể làm điều đó // không thể nhận xét phần bên trong của một dòng. Thỉnh thoảng tôi sẽ sử dụng để bình luận một tham số để một phương pháp mà một cái gì đó là không rõ ràng:
point = ConvertFromLatLon(lat, lon, 0.0 /* height */) ;
Trong trường hợp này không đổi, 0.0, được thông qua như là tham số thứ ba là đại diện cho chiều cao. Tất nhiên điều này có thể là tốt hơn:
double height = 0.0;
point = ConvertFromLatLon(lat, lon, height) ;
(tôi nhiều khả năng sử dụng/* */nội dòng tạm thời, chỉ cần thử qua một giá trị cụ thể.)
- 1. Perforce & Jenkins thay đổi nhận xét mã hóa hư hỏng
- 2. Regex để đối sánh nhận xét đa dòng kiểu C
- 3. C++ 0x lambdas mã hóa kiểu
- 4. Kiểu mã hóa: Cách cải thiện kiểu mã hóa và tiêu chuẩn tại một công ty
- 5. Tại sao '//' kiểu nhận xét nhiều dòng (xấu trong Java)?
- 6. Nhận mã hóa kiểu cho chữ ký phương thức trong Cocoa/Objective-C?
- 7. Màu sắc khác nhau cho nhận xét mã và nhận xét XML trong VB.NET
- 8. Kiểu mã hóa F # và tiêu chuẩn
- 9. Trình kiểm tra kiểu mã hóa cho C
- 10. Mã cũ trong các nhận xét
- 11. Mã nhận xét trong ASP cổ điển
- 12. Kiểu nhận xét: Người yêu cầu hoặc người thứ ba
- 13. Phân tích các nhận xét kiểu C dòng đơn với Antlr
- 14. Kiểu mã hóa hạt nhân Linux
- 15. Xuất nhận xét dưới dạng nhận xét
- 16. Công cụ/đá quý để tìm mã nhận xét
- 17. Có công cụ nào để nhận xét mã JavaScript không?
- 18. Các cách để đồng bộ hóa nhận xét giao diện và triển khai trong C#
- 19. X509Xóa mã hóa/giải mã chứng nhận
- 20. Tiêu chuẩn kiểu mã hóa cho Android
- 21. SML và kiểu mã hóa chức năng
- 22. Có thể chèn hình ảnh vào nhận xét mã không?
- 23. C/C++ mã hóa/giải mã với khóa công khai
- 24. Nhận xét bằng JavaScript
- 25. Công ước nhận xét
- 26. Nhận xét các mã C, tiêu đề và các tệp nguồn
- 27. Visual C# Express 2010 Phím tắt để nhận xét một khối mã?
- 28. Nhanh chóng nhận xét/* đã chọn mã C# */trong Visual Studio (không phải // toàn bộ dòng)
- 29. Tìm kiếm mã nhận xét trên các tệp trong Eclipse
- 30. Chèn ảnh trong nhận xét mã qua Emacs
nên là một cộng đồng wiki ... – Achilles
@Achilles ... tại sao? – Brandon
@Brandon, cos câu trả lời là vấn đề ưu tiên. – James