Checkstyle Javaルール

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

PatternVariableName

CheckStyle公式ドキュメント

検証環境

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


チェック概要

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

パターン変数名が指定の正規表現にマッチしているがどうかをチェックする。

プロパティ

プロパティ デフォルト値 説明 追加バージョン
format Pattern "^[a-z][a-zA-Z0-9]*$" パターン変数名の正規表現 8.36

設定+チェック実行結果

プロパティ設定なし

設定ファイル記述方法

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

チェック実行例

class MyClass {
    MyClass(Object o1){
        // NG パターン変数名の正規表現にマッチしない
        if (o1 instanceof String STR) {
        }
        
        // OK
        if (o1 instanceof Integer num) {
        }
        
        // NG パターン変数名の正規表現にマッチしない
        if (o1 instanceof Integer num_1) {
        }
    }
}

プロパティ設定あり

format

パターン変数名の正規表現

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="PatternVariableName">
            <property name="format" value="^[a-z](_?[a-zA-Z0-9]+)*$"/>
        </module>
    </module>
</module>

チェック実行例

class MyClass {
    MyClass(Object o1){
        // NG パターン変数名の正規表現にマッチしない
        if (o1 instanceof String STR) {
        }
        
        // OK
        if (o1 instanceof Integer num) {
        }
        
        // OK
        if (o1 instanceof Integer num_1) {
        }
    }
}