2013-08-06 27 views
9

Gần đây tôi đã chơi rất nhiều với ReSharper và một điều tôi muốn thiết lập cho nhóm của mình là các thông báo nếu một lớp C# hoặc tệp C# không có tiêu chuẩn nhận xét mã được đặt. Đáng tiếc là tôi chưa thể tìm thấy nhiều về chủ đề này.Tôi có thể sử dụng ReSharper để thực thi các tiêu chuẩn nhận xét không?

Ví dụ, tôi muốn chắc chắn rằng tất cả các phương pháp hoặc các chức năng có một mô tả bình luận ở trên chúng:

/// <summary> 
/// Description of MyMethod here. 
/// </summary> 
public void MyMethod(); 

Tôi muốn cũng để thấy rằng một tấm séc cơ bản cho dù (Số dòng mã)/(Số dòng bình luận) là xung quanh một số phép thuật hạnh phúc trung bình, và tạo ra một thông báo hoặc cảnh báo nếu không.

Trả lời

16

Một tùy chọn đơn giản để bắt đầu (thậm chí không cần R #) là bật tính năng tạo tệp tài liệu XML và sau đó xử lý cảnh báo dưới dạng lỗi. Điều đó sẽ đảm bảo rằng mỗi thành viên công khai đều có tài liệu.

Nó sẽ không đảm bảo rằng các nhận xét là tốt, tất nhiên ... nhưng nó sẽ đảm bảo chúng tồn tại.

EDIT: R # hiện có cài đặt cho điều này - dưới Kiểm tra mã, Kiểm tra mức độ nghiêm trọng, C#, Cảnh báo biên dịch, tìm CS1591: Missing XML comment for publicly visible type or member (và cảnh báo liên quan gần nó). Thay đổi mức độ nghiêm trọng của lỗi đó thành Lỗi và có thể giúp bạn - nhưng thật khó để nói là bạn đang ở trong một môi trường bất thường.

+0

giải pháp Rất gọn gàng để phần đầu của câu hỏi điều kiện bình thường - Tuy nhiên tôi đặc biệt đòi hỏi một giải pháp R # như chúng ta đang sử dụng Engine Unity3D mà không sử dụng Visual Studio để thực hiện việc xây dựng của dự án, và do đó tôi không thể sử dụng tốt những điều trên. –

+2

@ S.Richmond: Tôi bối rối - R # là một plugin của Visual Studio. Nếu bạn không sử dụng VS, bạn sẽ sử dụng R # như thế nào? Ngoài ra, mọi trình biên dịch C# mà tôi từng thấy đều có thể tạo ra đầu ra tài liệu XML - bạn đã tìm kiếm tùy chọn đó chưa? Nó không cụ thể cho Visual Studio. Ví dụ, bằng cách sử dụng mcs (trình biên dịch Mono C#) bạn sử dụng đối số '-doc'. Cuối cùng, nếu bạn có các yêu cầu kỳ quặc, bạn nên đưa chúng vào câu hỏi để bắt đầu. –

+0

Không, chúng tôi đang sử dụng VS2012, tuy nhiên Unity3D chỉ sử dụng nó như một IDE. Unity3D thực hiện việc xây dựng chính nó. Câu hỏi của tôi được yêu cầu cụ thể cho giải pháp R # vì lý do đó. –

2

Không được cạnh tranh với Jon nhưng GhostDoc thực hiện những gì bạn mô tả.

enter image description here

+0

+1 Đối với một giải pháp "tốt nhất" nhưng trong khi nó có thể cung cấp một nỗ lực tốt trong tự động tài liệu, nó vẫn không đảm bảo rằng những thay đổi được thực hiện bởi một nhà phát triển là _good_ thay đổi ... – Basic

+0

@Basic Cảm ơn, về cơ bản Check- Trong Chính sách là cổng chất lượng trên điều khiển phiên bản, các tác vụ phải được hoàn thành trước khi mã có thể được kiểm tra và xây dựng. Ví dụ là chính sách thử nghiệm để đảm bảo lỗi hồi quy không được giới thiệu bởi thay đổi mã, chính sách phân tích mã để đảm bảo mã kiểm tra đáp ứng các tiêu chuẩn nhất định đã đồng ý và chính sách Mục công việc để giảm phạm vi và giúp người kiểm tra xác định những gì đã được đưa vào bất kỳ xây dựng ứng dụng. –

+0

@JeremyThompson GhostDoc có sử dụng nhiều nữa trong VS2012 trở lên không? Bạn có thể nhập '///' ở trên bất kỳ phương thức nào và nó sẽ tự động tạo tiêu chuẩn nhận xét để bạn điền vào. –

2

Ngoài ra, hãy kiểm tra StyleCop trong đó có một plugin Resharper, có nghĩa là bình luận thiếu (đối với phương pháp, tài sản, vv) sẽ được hiển thị như Resharper cảnh báo/lỗi. Có thể, hoặc có thể không, được bạn quan tâm, nhưng ít nhất đó là một lựa chọn.

0

Stylecop có nhiều quy tắc cho nhận xét, bạn cũng có thể muốn xem Stylecop+ vì điều này có một số quy tắc bổ sung cho Phương thức/Độ dài thuộc tính.

2

Có hai tùy chọn. Cả hai - sử dụng các phần mở rộng cho ReSharper - không phải cho Visual Studio (nếu bạn không biết, ReSharper có Trình quản lý mở rộng của riêng nó). Những phần mở rộng là (sử dụng một giây!):

  1. AgentSmith (cho R 9 #). Bây giờ, ReSharper's Extension Manager cho biết, phần mở rộng này dành cho ReSharper của phiên bản 9.0 (mà tôi đã cài đặt) nhưng, trên thực tế, phần mở rộng này hoạt động với các lỗi (vô hiệu hóa các điểm nổi bật hoạt động không đúng).

  2. Kiểm tra tài liệu XML cho ReSharper 9. Có vẻ, công trình mà không có bất kỳ vấn đề (tôi có nó chỉ cần cài đặt). Đó là những gì bạn thực sự cần để làm nổi bật các lớp học, phương pháp, tài sản và vv (thậm chí cả các lĩnh vực tư nhân) mà không có ý kiến ​​XML!

Các vấn đề liên quan