検証環境
Checkstyleバージョン:10.8.0
Javaバージョン:17
チェック概要
チェック追加バージョン |
---|
Checkstyle 3.0 |
定数名が指定された正規表現に適合しているかどうかをチェックする。
定数とは、serialVersionUIDとserialPersistentFieldsを除く、static finalなフィールド、またはインターフェース/アノテーションのフィールドのことを指す。
プロパティ
プロパティ | 型 | デフォルト値 | 説明 | 追加バージョン |
---|---|---|---|---|
format | Pattern | "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$" |
定数名の正規表現 | 3.0 |
applyToPublic | boolean | true | publicメンバにチェックを適用するかどうか | 5.0 |
applyToProtected | boolean | true | protectedメンバにチェックを適用するかどうか | 5.0 |
applyToPackage | boolean | true | package-privateメンバにチェックを適用するかどうか | 5.0 |
applyToPrivate | boolean | true | privateメンバにチェックを適用するかどうか | 5.0 |
設定+チェック実行結果
プロパティ設定なし
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="ConstantName"/> </module> </module>
チェック実行例
class MyClass { // OK public final static int FIRST_CONSTANT1 = 10; // OK protected final static int SECOND_CONSTANT2 = 100; // NG 定数名の正規表現にマッチしない final static int third_Constant3 = 1000; // NG 定数名の正規表現にマッチしない private final static int fourth_Const4 = 50; }
プロパティ設定あり
format
定数名の正規表現
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="ConstantName"> <property name="format" value="^[A-Z][A-Z]*(_[A-Z]+)*$"/> </module> </module> </module>
チェック実行例
class MyClass { // NG 定数名の正規表現にマッチしない public final static int FIRST_CONSTANT1 = 10; // NG 定数名の正規表現にマッチしない protected final static int SECOND_CONSTANT2 = 100; // NG 定数名の正規表現にマッチしない final static int third_Constant3 = 1000; // NG 定数名の正規表現にマッチしない private final static int fourth_Const4 = 50; }
applyToPublic
publicメンバにチェックを適用するかどうか
デフォルト:true
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="ConstantName"> <property name="applyToPublic" value="false"/> </module> </module> </module>
チェック実行例
class MyClass { // OK 「applyToPublic=true」なのでチェック対象外 public final static int FIRST_Constant1 = 10; // NG 定数名の正規表現にマッチしない protected final static int SECOND_Constant2 = 100; // NG 定数名の正規表現にマッチしない final static int third_Constant3 = 1000; // NG 定数名の正規表現にマッチしない private final static int fourth_Const4 = 50; }
applyToProtected
protectedメンバにチェックを適用するかどうか
デフォルト:true
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="ConstantName"> <property name="applyToProtected" value="false"/> </module> </module> </module>
チェック実行例
class MyClass { // NG 定数名の正規表現にマッチしない public final static int FIRST_Constant1 = 10; // OK 「applyToProtected=true」なのでチェック対象外 protected final static int SECOND_Constant2 = 100; // NG 定数名の正規表現にマッチしない final static int third_Constant3 = 1000; // NG 定数名の正規表現にマッチしない private final static int fourth_Const4 = 50; }
applyToPackage
package privateメンバにチェックを適用するかどうか
デフォルト:true
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="ConstantName"> <property name="applyToPackage" value="false"/> </module> </module> </module>
チェック実行例
class MyClass { // NG 定数名の正規表現にマッチしない public final static int FIRST_Constant1 = 10; // NG 定数名の正規表現にマッチしない protected final static int SECOND_Constant2 = 100; // OK 「applyToPackage=true」なのでチェック対象外 final static int third_Constant3 = 1000; // NG 定数名の正規表現にマッチしない private final static int fourth_Const4 = 50; }
applyToPrivate
privateメンバにチェックを適用するかどうか
デフォルト:true
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="ConstantName"> <property name="applyToPrivate" value="false"/> </module> </module> </module>
チェック実行例
class MyClass { // NG 定数名の正規表現にマッチしない public final static int FIRST_Constant1 = 10; // NG 定数名の正規表現にマッチしない protected final static int SECOND_Constant2 = 100; // NG 定数名の正規表現にマッチしない final static int third_Constant3 = 1000; // OK 「applyToPrivate=true」なのでチェック対象外 private final static int fourth_Const4 = 50; }