Checkstyle Javaルール

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

LocalFinalVariableName

CheckStyle公式ドキュメント

検証環境

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


チェック概要

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

finalなローカル変数名が指定の正規表現にマッチしているがどうかをチェックする。
catchパラメータとtry文のリソースは、finalなローカル変数とみなされる。

プロパティ

プロパティ デフォルト値 説明 追加バージョン
format Pattern "^[a-z][a-zA-Z0-9]*$" 変数名の正規表現 3.0
tokens トークンの サブセット VARIABLE_DEF,
PARAMETER_DEF,
RESOURCE
チェック対象のトーク 3.0

トークンのサブセットには以下の値が設定可能

説明
VARIABLE_DEF フィールド・ローカル変数宣言
PARAMETER_DEF パラメータ宣言
RESOURCE try-with-resourceのリソース

設定+チェック実行結果

プロパティ設定なし

設定ファイル記述方法

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

チェック実行例

class MyClass {
    void foo() {
        try {
            // NG  変数名の正規表現にマッチしない
            final int VAR1 = 5;
            // OK
            final int var1 = 10;
        } catch (Exception ex) {
            // NG 変数名の正規表現にマッチしない
            final int VAR2 = 15;
            // OK
            final int var2 = 20;
        }
    }
}

プロパティ設定あり

format

変数名の正規表現

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="LocalFinalVariableName">
            <property name="format" value="^[A-Z][A-Z0-9]*$"/>
        </module>
    </module>
</module>

チェック実行例

class MyClass {
    void foo() {
        try {
            // OK
            final int VAR1 = 5;
            // NG 変数名の正規表現にマッチしない
            final int var1 = 10;
        } catch (Exception ex) {
            // OK
            final int VAR2 = 15;
            // NG 変数名の正規表現にマッチしない
            final int var2 = 20;
        }
    }
}

tokens

チェック対象のトーク

設定ファイル記述方法

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

チェック実行例

class MyClass {
    void foo() {
        try {
            // OK
            final int VAR1 = 5;
            // OK パラメータ名以外はチェック対象外
            final int var1 = 10;
        } catch (Exception ex) {
            // OK
            final int VAR2 = 15;
            // OK パラメータ名以外はチェック対象外
            final int var2 = 20;
        }
    }
}