2015-08-26 3 views
5

Есть ли простой способ анализа исходного кода, чтобы указать количество классов, в которых нет javadocs?Список всех классов БЕЗ Javadocs

Как часть технического долга, я хочу перечислить все эти файлы и поделиться списком среди команды, чтобы их авторы писали.

Примечания: Мы используем Gradle как система сборки

UPDATE ... Так пустое Javadocs получить созданную по умолчанию, но наши разработчики havnt заполненных их много. Id нравится видеть все классы, которые не имеют описания в документе на уровне класса. Я не слишком разбираюсь в методах.

+0

Ваша проблема кажется много сложнее, чем это, потому что, как вы определяете «есть javadoc»? Достаточно ли иметь комментарии на уровне класса или на уровне метода. Что делать, если у вас есть автогенерированный javadoc, например **/@author Alex/**. Это технически javadoc, но в нем ничего нет –

+0

Видимо, должно быть. У нас есть такой отчет о сонарном кубе, хотя, если я помню, он показывает количество недокументированных публичных методов. – John

+0

Говоря о SonarQube, почему бы не добавить его в свой непрерывный стек интеграции? – NiziL

ответ

5

Простым способом было бы использовать Checkstyle.

Скачать файл банку и создать конфигурационный XML-файл (javadoc_checks.xml), как это:

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

Теперь выполните следующую команду (предполагается, что все находится в том же каталоге и src содержит код):

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

Если, например, вы просто хотите, чтобы проверить отсутствие Javadocs для классов и интерфейсов, то вам просто необходимо это в конфигурационном XML:

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

И выход был бы что-то вроде:

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. 

Есть много вариантов, вы можете увидеть их в:

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

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

+0

Это похоже на то, что они ищут. Благодарю. Я попробую его и дам вам знать, как я нахожусь. Очень признателен. –

+0

Проблема с этим подходом заключается в том, что intellij автоматически генерирует Jdocs для нас в форме/** * Создано bob 18/08/2015. */Это проявляется как javadoc, хотя это почти бесполезно. Мне нужно найти классы, у которых нет ДОПОЛНИТЕЛЬНОЙ информации, что строка «created by» –

+0

Вы можете настроить Checkstyle, чтобы выдать ошибку, если javadoc «недействителен». Проверьте документацию по адресу http://checkstyle.sourceforge.net/config_javadoc.html. Например, вы можете активировать модуль 'NonEmptyAtclauseDescription' (javadocs, которые не имеют, например, @param или @return, будут отклонены) или' SummaryJavadocCheck' с запрещенным текстом «Создано *» (javadocs, у которых этот текст будет отвергается). –

Смежные вопросы