Checkstyle Javaルール

CheckstyleのJavaルールについて1つずつまとめます

JavadocVariable

CheckStyle公式ドキュメント

検証環境

Checkstyleバージョン:10.3.3
Javaバージョン:17


チェック概要

チェック追加バージョン
Checkstyle 3.0

変数がJavadocコメントを持つかどうかをチェックする。
serialVersionUIDフィールドは無視される。

プロパティ

プロパティ デフォルト値 説明 追加バージョン
scope Scope private Javadocコメントをチェックする可視性スコープを指定 3.0
excludeScope Scope null Javadocコメントをチェックしない可視性スコープを指定 3.4
ignoreNamePattern Pattern null 無視する変数名を定義する正規表現 5.8
tokens トークンの サブセット ENUM_CONSTANT_DEF チェック対象のトーク 3.0

〇Scopeには以下の値が設定可能
public を指定すると、public な修飾子を持つ項目のみがチェックされる。
protected を指定すると、public および protected 修飾子のみをチェックする。

  • nothing
  • public
  • protected
  • package
  • private
  • anoninner

設定+チェック実行結果

プロパティ設定なし

設定ファイル記述方法

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

チェック実行例

public class Test {
    // NG Javadocコメントがない
    private int a;

    // OK
    /**
     * Some description here
     */
    private int b;
    
    // NG Javadocコメントがない
    protected int c;
    
    // NG Javadocコメントがない
    public int d;
}

プロパティ設定あり

scope

Javadocコメントをチェックする可視性スコープを指定する。

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="JavadocVariable">
            <property name="scope" value="public"/>
        </module>
    </module>
</module>

チェック実行例

public class Test {
    // OK privateメソッドはチェック対象外
    private int a;

    // OK
    /**
     * Some description here
     */
    private int b;
    
    // OK protectedメソッドはチェック対象外
    protected int c;
    
    // NG Javadocコメントがない
    public int d;
}

excludeScope

Javadocコメントをチェックしない可視性スコープを指定する。

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="JavadocVariable">
            <property name="excludeScope" value="public"/>
        </module>
    </module>
</module>

チェック実行例

public class Test {
    // NG Javadocコメントがない
    private int a;

    // OK
    /**
     * Some description here
     */
    private int b;
    
    // NG Javadocコメントがない
    protected int c;
    
    // OK チェック対象外
    public int d;
}

ignoreNamePattern

無視する変数名を定義する正規表現

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="JavadocVariable">
            <property name="ignoreNamePattern" value="log"/>
        </module>
    </module>
</module>

チェック実行例

public class Test {
    // OK チェック対象外
    private Logger log;
    
    // NG Javadocコメントがない
    protected Logger logger;
}

tokens

チェック対象のトークンを指定する。

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="JavadocVariable">
            <property name="tokens" value=""/>
        </module>
    </module>
</module>

チェック実行例

public enum Test {
    // OK チェック対象外
    APPLE,
    BANANA,
    GRAPE;
}