MemberName
検証環境
Checkstyleバージョン:10.8.0
Javaバージョン:17
チェック概要
チェック追加バージョン |
---|
Checkstyle 3.0 |
インスタンス変数名が指定の正規表現にマッチしているがどうかをチェックする。
プロパティ
プロパティ | 型 | デフォルト値 | 説明 | 追加バージョン |
---|---|---|---|---|
format | Pattern | "^[a-z][a-zA-Z0-9]*$" |
変数名の正規表現 | 3.0 |
applyToPublic | boolean | true | publicメンバにチェックを適用するかどうか | 3.4 |
applyToProtected | boolean | true | protectedメンバにチェックを適用するかどうか | 3.4 |
applyToPackage | boolean | true | package-privateメンバにチェックを適用するかどうか | 3.4 |
applyToPrivate | boolean | true | privateメンバにチェックを適用するかどうか | 3.4 |
設定+チェック実行結果
プロパティ設定なし
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="MemberName"/> </module> </module>
チェック実行例
class MyClass { // OK public int num1; // OK protected int num2; // OK final int num3 = 3; // OK private int num4; // OK インスタンス変数ではないのでチェック対象外 static int num5; // OK インスタンス変数ではないのでチェック対象外 public static final int CONSTANT = 1; // NG 変数名の正規表現にマッチしない public int NUM1; // NG 変数名の正規表現にマッチしない protected int NUM2; // NG 変数名の正規表現にマッチしない final int NUM3; // NG 変数名の正規表現にマッチしない private int NUM4; }
プロパティ設定あり
format
変数名の正規表現
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="MemberName"> <property name="format" value="^m[A-Z][a-zA-Z0-9]*$"/> </module> </module> </module>
チェック実行例
class MyClass { // NG 変数名の正規表現にマッチしない public int num1; // NG 変数名の正規表現にマッチしない protected int num2; // NG 変数名の正規表現にマッチしない int num3; // NG 変数名の正規表現にマッチしない private int num4; }
applyToPublic
publicメンバにチェックを適用するかどうか
デフォルト:true
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="MemberName"> <property name="applyToPublic" value="false"/> </module> </module> </module>
チェック実行例
class MyClass { // OK publicなのでチェック対象外 public int Num1; // NG 変数名の正規表現にマッチしない protected int Num2; // NG 変数名の正規表現にマッチしない int Num3; // NG 変数名の正規表現にマッチしない private int Num4; }
applyToProtected
protectedメンバにチェックを適用するかどうか
デフォルト:true
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="MemberName"> <property name="applyToProtected" value="false"/> </module> </module> </module>
チェック実行例
class MyClass { // NG 変数名の正規表現にマッチしない public int Num1; // OK protectedなのでチェック対象外 protected int Num2; // NG 変数名の正規表現にマッチしない int Num3; // NG 変数名の正規表現にマッチしない private int Num4; }
applyToPackage
package-privateメンバにチェックを適用するかどうか
デフォルト:true
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="MemberName"> <property name="applyToPackage" value="false"/> </module> </module> </module>
チェック実行例
class MyClass { // NG 変数名の正規表現にマッチしない public int Num1; // NG 変数名の正規表現にマッチしない protected int Num2; // OK applyToPackageなのでチェック対象外 int Num3; // NG 変数名の正規表現にマッチしない private int Num4; }
applyToPrivate
privateメンバにチェックを適用するかどうか
デフォルト:true
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="MemberName"> <property name="applyToPrivate" value="false"/> </module> </module> </module>
チェック実行例
class MyClass { // NG 変数名の正規表現にマッチしない public int Num1; // NG 変数名の正規表現にマッチしない protected int Num2; // NG 変数名の正規表現にマッチしない int Num3; // OK applyToPrivateなのでチェック対象外 private int Num4; }