checkstyle JavadocType仅适用于类/接口/枚举



我正在尝试配置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文档的错误。

任何帮助都将不胜感激。

,它将验证类、接口和枚举以强制执行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.

最新更新