CheckStyleのパラメータ

# はじめに
業務でCheckStyleの設定ファイルを見直す機会があり、今まで、先輩が作成した設定ファイルを何も考えずに使用していたので改めてパラメータを調べたので備忘録的に一覧にしようと思います。

# パラメータ一覧

| 名称 | 説明 |
|------|------|
| Checker | 設定ファイルのルートタグ|
| TreeWalker | 様々なパラメータの親になるタグ |
| JavadocType | クラスとインターフェースの宣言にJavadocコメントが入っていない場合に警告する |
| JavadocVariable | メンバ変数にJavadocコメントが入っていない場合に警告する |
| JavadocMethod | メソッドの宣言にJavadocコメントが入っていない場合に警告する |
| Indentation | インデントを確認する。baseOffsetに設定されている値（スペースの数）があっていない場合に警告する |
| LineLength | 1行に記述されている文字数を確認する。maxに設定されている値を超えている場合に警告する |
| PackageName | パッケージ名称がformatに設定されている正規表現にマッチしない場合に警告する |
| TypeName | class,interface,enum,annotationの名称がformatに設定されている正規表現にマッチしない場合に警告する。tokensに判定対象を設定することができる（クラスのみ別の命名規則を適用したい時に使用する） |
| AbstractClassName | 抽象クラスの名称がformatに設定されている正規表現にマッチしない場合に警告する |
| MethodName | メソッドの名称がformatに設定されている正規表現にマッチしない場合に警告する |
| ConstantName | 定数の名称がformatに設定されている正規表現にマッチしない場合に警告する |
| MemberName | メンバ変数の名称がformatに設定されている正規表現にマッチしない場合に警告する |
| LocalVariableName | ローカル変数の名称がformatに設定されている正規表現にマッチしない場合に警告する |
| CatchParameterName | try-catchでキャッチした例外の変数名称がformatに設定されている正規表現にマッチしない場合に警告する |
| LocalFinalVariableName | ローカル定数の名称がformatに設定されている正規表現にマッチしない場合に警告する |
| ParameterName | 引数の名称がformatに設定されている正規表現にマッチしない場合に警告する |
| StaticVariableName | staticな変数の名称がformatに設定されている正規表現にマッチしない場合に警告する |
| MethodLength | 1メソッド（コンストラクタも）の行数がmaxに設定されている値を超えている場合に警告する |
| AvoidStarImport | 「*」を使用したインポートを行っている場合に警告する |
| RenduntImport | 冗長なインポートがある場合に警告する。冗長なインポートは以下。<br>・同じクラスのインポートが複数ある場合<br>・java.langパッケージに属するクラスをインポートしている場合<br>・対象のクラスと同じパッケージに属しているクラスをインポートしている場合|
| UnusedImport | 使用していないクラスのインポートがある場合に警告する |
| EmptyBlock | 「{}」の中が空の場合に警告する。 |
| EmptyCatchBlock | catch節の処理が空の場合に警告する |
| LeftCurly | 「{」の記述されている位置を確認する |
| NeedBraces | if文、for文等で「{}」で処理を囲んでいない場合に警告する |
| RightCurly | 「}」の記述されている位置を確認する |
| EmptyStatement | 処理のないステートメントがある場合に警告する |
| EqualAvoidNull | String型において`変数名.equals("aaa")`のような箇所がある場合に警告する |
| EqualsHashCode | equals()またはhashCode()のどちらかだけ実装されている場合に警告する |
| HiddenField | ローカル変数、引数がクラスで定義されているフィールドと変数名がかぶっている場合に警告する |
| IllegalCatch | chatch節の例外の型にillegalClassNamesに設定されている型が使用されている場合に警告する |
| MagicNumber | マジックナンバーを使用している場合に警告する。ignoreNumbersに数値を設定することで警告の対象から除外できる |
| MissingSwitchDefault | switch-case文にdefaultが記述されていない場合に警告する |
| SimplifyBooleanExpression | `if (variable == true)`のような記述がある場合に警告する |
| SimplifyBooleanReturn | `if (valid) { return true; } else { return false; }`のような記述がある場合に警告する |
| HideUtilityClassConstructor | ユーティリティクラス（staticなメンバのみのクラス）にpublicなコンストラクタが存在する場合に警告する |
| InterfaceType | メソッドが無く、変数のみのインターフェースがある場合に警告する |
| ArrayTypeStyle | 配列の宣言の記述方法がJavaスタイルでない（Cスタイル）場合に警告する |
| FinalParameter | コンストラクタとメソッドの引数に`final`がついていない場合に警告する |
| ToDoComment | TODOコメントが存在する場合に警告する |
| UpperEll | long型の宣言で数値の最後に付ける`L`が小文字の場合に警告する |
| TallThrough | switch-case文でbreakが抜けている場合に警告する |
| DeclaretionOrder | クラス内の宣言順序を確認する。<br>デフォルトは上からstatic変数、インスタンス変数、コンストラクタ、メソッドの順になる。 |
| FileTabCharacter | ファイルの中でタブを使用している場合に警告する |
| CyclomaticComplexity | 才クロマチック数がmaxで設定した値を超えている場合に警告する |
| NPathComplexity | 条件分岐数がmaxで設定した値を超えている場合に警告する |
| FileLength | ファイル全体の行数がmaxに設定されている値を超えている場合に警告する |
| WhitespaceAfter | `,`,`;`,`if`,`else`,`while`,`do`,`for`,`do-while`の後にスペースが入っていない場合に警告する |
| WhitespaceAround | WhitespaceAfterを強力にしたもの。<br>しかし、`,`,`;`は検出できない。<br>`()`の前後のスペースなどを確認する。 |
| NoWhitespaceBefore | `,`,`;`,`++`,`--`,`...`の前にスペースが入っている場合は警告する |
| NoWhitespaceAfter | `@`,`++`,`--`,`+`,`-`,`!`,`.`,配列の初期化の後にスペースが入っている場合に警告する |
| OverloadMethodsDeclarationOrder | オーバーロードされたメソッドがまとまって1か所に記述されていない場合に警告する |
| UnnecessarySemicolonEnumeration | enumに不要なセミコロンが記述されている場合に警告する |
| MultipleStringLiterals | ファイル内に同じStringリテラルがある場合に警告する |
| OuterTypeFilename | ファイル名と定義されているクラス名が異なる場合に警告する |
| ModifierOrder | 修飾子の順番がJava標準に従っていない場合に警告する。<br>順番は上位から`public`,`protected`,`private`,`abstract`,`default`,`static`,`final`,`transient`,`volatile`,`synchronaized`,`native`,`strictfp` |
| RendundantModifier | 冗長な修飾子がある場合に警告する |
| ClassTypeParameterName | クラスのジェネリクス宣言時の`<>`で囲む型名を確認する |

# まとめ

とりあえず、今日はここまで。
ぱっと見で役に立ちそうなパラメータを選んで記載してあります。

表に記述されているパラメータがすべてではないですが、今後時間があるときに少しずつ増やしていくつもりです。