ParameterNumber
検証環境
Checkstyleバージョン:10.3.3
Javaバージョン:17
チェック概要
チェック追加バージョン |
---|
Checkstyle 3.0 |
メソッドまたはコンストラクタのパラメータ数をチェックする。
プロパティ
プロパティ | 型 | デフォルト値 | 説明 | 追加バージョン |
---|---|---|---|---|
max | int | 7 | 最大値 | 3.0 |
ignoreOverriddenMethods | boolean | false | @Overrideがついたメソッドをチェック対象外とするかどうか | 6.2 |
tokens | トークンの サブセット | METHOD_DEF, CTOR_DEF |
チェック対象のトークン | 3.0 |
〇トークンのサブセットには以下の値が設定可能
値 | 説明 |
---|---|
METHOD_DEF | メソッド宣言 |
CTOR_DEF | コンストラクタ宣言 |
設定+チェック実行結果
プロパティ設定なし
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="ParameterNumber"/> </module> </module>
チェック実行例
public class MyClass { // maxに指定した値よりもパラメータ数が多いとNG // 以下のメソッドでは6とカウントされる public void foo(int a, int b, int c, int d, int e, int f) { } }
プロパティ設定あり
max
許容されるパラメータの最大数(デフォルト:7)
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="ParameterNumber"> <property name="max" value="3"/> </module> </module> </module>
ignoreOverriddenMethods
@Overrideがついたメソッドをチェック対象外とするかどうか(デフォルト:false)
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="ParameterNumber"> <property name="ignoreOverriddenMethods" value="true"/> </module> </module> </module>
tokens
チェック対象のトークンをコンマ区切りで指定する
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="ParameterNumber"> <property name="tokens" value="METHOD_DEF"/> </module> </module> </module>