Checkstyle Javaルール

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

ClassTypeParameterName

CheckStyle公式ドキュメント

検証環境

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


チェック概要

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

クラスの型パラメーターの名前が、指定された正規表現に合致しているかどうかをチェックする。

プロパティ

プロパティ デフォルト値 説明 追加バージョン
format Pattern "^[A-Z]$" 型パラメータ名の正規表現 5.0

設定+チェック実行結果

プロパティ設定なし

設定ファイル記述方法

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

チェック実行例

// OK
class MyClass1<T> {}
// NG  型パラメータ名の正規表現にマッチしない
class MyClass2<t> {}
// NG 型パラメータ名の正規表現にマッチしない
class MyClass3<abc> {}
// NG 型パラメータ名の正規表現にマッチしない
class MyClass4<LISTENER> {}
// NG 型パラメータ名の正規表現にマッチしない
class MyClass5<RequestT> {}

プロパティ設定あり

format

パラメータ名の正規表現

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="ClassTypeParameterName">
            <property name="format" value="^[A-Z]{2,}$"/>
        </module>
    </module>
</module>

チェック実行例

// NG 型パラメータ名の正規表現にマッチしない
class MyClass1<T> {}
// NG 型パラメータ名の正規表現にマッチしない
class MyClass2<t> {}
// NG 型パラメータ名の正規表現にマッチしない
class MyClass3<abc> {}
// OK
class MyClass4<LISTENER> {}
// NG 型パラメータ名の正規表現にマッチしない
class MyClass5<RequestT> {}