checkstyle JavadocType только для классов / интерфейсов / перечислений - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь настроить правила checkstyle, которые будут проверять классы, интерфейсы и перечисления для назначения Javadocs с помощью следующих конфигураций:

<module name="JavadocStyle">
    <property name = "checkEmptyJavadoc" value="true"/>
    <property name ="checkFirstSentence" value="false"/>
    <property name="tokens" value="CLASS_DEF, ENUM_DEF, INTERFACE_DEF, METHOD_DEF"/>

Но они отражаются то есть, хотя я не предоставлял java документов на уровне класса, все же проверяется стиль проверки вместо сообщения об отсутствующих java документах.

любая помощь будет оценена.

1 Ответ

0 голосов
/ 02 мая 2020

, который проверит классы, интерфейсы и перечисления для мандата javadocs

Прежде всего, я рекомендую не использовать JavadocStyle для этого, а вместо этого использовать MissingJavadocType как это единственная цель, для которой предназначена эта проверка. Возможно, в будущем обновлении JavadocStyle больше не будет этого делать, поскольку оно дублирует то, что делает MissingJavadocType. Для методов используйте MissingJavadocMethod.

Независимо от того, какую проверку вы используете, вы должны указать правильный scope, который вы хотите, чтобы он выбирал классы. Если он неправильный, он не сработает во всех случаях.

Пример с нарушением перечисления, но не с классом из-за разных областей:

$ cat TestClass.java
public enum TestEnum {}
private class TestClass {}

$ cat TestConfig.xml
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
          "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
          "https://checkstyle.org/dtds/configuration_1_3.dtd">

<module name="Checker">
    <property name="charset" value="UTF-8"/>

    <module name="TreeWalker">
<module name="MissingJavadocType">
    <property name="scope" value="public"/>
    <property name="tokens" value="CLASS_DEF, ENUM_DEF, INTERFACE_DEF"/>
</module>
    </module>
</module>

$ java -jar checkstyle-8.32-all.jar -c TestConfig.xml TestClass.java
Starting audit...
[ERROR] TestClass.java:1: Missing a Javadoc comment. [MissingJavadocType]
Audit done.
Checkstyle ends with 1 errors.
...