2015-08-26 25 views
5

Có cách nào đơn giản để phân tích mã nguồn để liệt kê số lớp không có bất kỳ javadocs nào không?Liệt kê tất cả các lớp KHÔNG CÓ Javadocs

Là một phần của bài tập về nợ kỹ thuật, tôi muốn liệt kê tất cả các tệp này và chia sẻ danh sách trong nhóm để các tác giả gốc viết chúng.

Lưu ý: Chúng tôi đang sử dụng gradle như xây dựng hệ thống

CẬP NHẬT ... javadocs Vì vậy, sản phẩm nào được tạo ra theo mặc định nhưng nhà phát triển của chúng tôi havnt điền chúng trong nhiều. Id thích để có thể xem tất cả các lớp không có bất kỳ mô tả nào trong tài liệu ở cấp lớp. Tôi không nhớ về phương pháp quá nhiều.

+0

Vấn đề của bạn dường như rất nhiều phức tạp hơn điều này, bởi vì làm thế nào để bạn xác định "có javadoc"? Có đủ để có ý kiến ​​về cấp lớp, hoặc trên mức độ phương pháp là tốt. Điều gì sẽ xảy ra nếu bạn có một javadoc được tạo tự động như **/@author Alex/**. Đó là kỹ thuật một javadoc nhưng không có gì trong nó –

+0

Rõ ràng là có nên. Chúng tôi có báo cáo như vậy về khối lượng sonar, mặc dù nếu tôi nhớ lại nó cho thấy số phương pháp công khai không có giấy tờ. – John

+0

Nói về SonarQube, tại sao không thêm nó vào ngăn xếp tích hợp liên tục của bạn? – NiziL

Trả lời

5

Cách dễ dàng là sử dụng Checkstyle.

Tải file jar và tạo ra một tập tin cấu hình XML (javadoc_checks.xml) như thế này:

<module name="Checker"> 
    <module name="TreeWalker"> 
     <module name="JavadocType"/> 
     <module name="JavadocMethod"/> 
     <module name="JavadocVariable"/> 
     <module name="JavadocStyle"/> 
    </module> 
</module> 

Bây giờ hãy chạy lệnh sau (giả sử tất cả mọi thứ là trong cùng thư mục và src chứa mã của bạn):

java -jar checkstyle-6.9-all.jar -c javadoc_checks.xml src/ 

Nếu, ví dụ, bạn chỉ muốn kiểm tra xem có thiếu javadocs cho các lớp và các giao diện, sau đó bạn chỉ cần điều này trong XML config:

<module name="Checker"> 
    <module name="TreeWalker"> 
     <module name="JavadocType"/> 
    </module> 
</module> 

Và kết quả sẽ là một cái gì đó như:

C:\src\com\example\Test.java:137: Javadoc comment missing. 
C:\src\com\example\Test1.java:3: Javadoc comment missing. 
C:\src\com\example\Test2.java:12: Javadoc comment missing. 

Có rất nhiều các tùy chọn, bạn có thể nhìn thấy chúng trong:

http://checkstyle.sourceforge.net/config_javadoc.html

http://checkstyle.sourceforge.net/cmdline.html

+0

Điều này có vẻ là những gì tôi đang tìm kiếm. Cảm ơn. Hãy thử nó ra và cho bạn biết làm thế nào tôi nhận được trên. Nhiều đánh giá cao. –

+0

Vấn đề với phương pháp này là intellij tự động tạo Jdocs cho chúng tôi theo mẫu/** * Được tạo bởi bob vào ngày 18/08/2015. */Điều này xuất hiện như một javadoc mặc dù nó là tất cả, nhưng vô dụng. Tôi cần phải tìm các lớp học không có thông tin THÊM rằng dòng "được tạo bởi" –

+0

Bạn có thể định cấu hình Checkstyle để ném lỗi nếu javadoc là "không hợp lệ". Kiểm tra tài liệu tại http://checkstyle.sourceforge.net/config_javadoc.html. Ví dụ: bạn có thể kích hoạt mô-đun 'NonEmptyAtclauseDescription' (javadocs không có ví dụ @param hoặc @return sẽ bị từ chối) hoặc' SummaryJavadocCheck' với văn bản bị cấm "Được tạo bởi *" (javadocs có văn bản đó sẽ là từ chối). –

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