Checkstyle Javaルール

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

ParameterNumber

CheckStyle公式ドキュメント

検証環境

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>