検証環境
Checkstyleバージョン:10.3.3
Javaバージョン:17
チェック概要
チェック追加バージョン |
---|
Checkstyle 3.0 |
行数の多いメソッドとコンストラクタがないかチェックする。
メソッドが非常に長くなると理解するのが難しくなるため、長いメソッドは通常、特定のタスクに焦点を当てたいくつかの個別のメソッドにリファクタリングする必要がある。
プロパティ
プロパティ | 型 | デフォルト値 | 説明 | 追加バージョン |
---|---|---|---|---|
max | int | 150 | 最大値 | 3.0 |
countEmpty | boolean | true | 空行やコメントをカウントするかどうか | 3.2 |
tokens | トークンの サブセット | METHOD_DEF, CTOR_DEF, COMPACT_CTOR_DEF |
チェック対象のトークン | 3.0 |
〇トークンのサブセットには以下の値が設定可能
値 | 説明 |
---|---|
METHOD_DEF | メソッド宣言 |
CTOR_DEF | コンストラクタ宣言 |
COMPACT_CTOR_DEF | 引数なしコンストラクタ宣言 |
設定+チェック実行結果
プロパティ設定なし
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="MethodLength"/> </module> </module>
チェック実行例
public class MyClass { // maxに指定した値よりも行数が多いとNG // 以下のメソッドは6行とカウントされる public void foo() { int index = 0; if (index < 5) { index++; } } }
プロパティ設定あり
max
許容される最大行数(デフォルト:150)
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="MethodLength"> <property name="max" value="4"/> </module> </module> </module>
countEmpty
空行やコメントをカウントするかどうか(デフォルト:true)
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="MethodLength"> <property name="countEmpty" value="false"/> </module> </module> </module>
tokens
チェック対象のトークンをコンマ区切りで指定する
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="MethodLength"> <property name="tokens" value="CTOR_DEF"/> </module> </module> </module>