LoginSignup
1
2

More than 3 years have passed since last update.

CheckStyleのパラメータ

Last updated at Posted at 2020-01-11

はじめに

業務で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 冗長なインポートがある場合に警告する。冗長なインポートは以下。
・同じクラスのインポートが複数ある場合
・java.langパッケージに属するクラスをインポートしている場合
・対象のクラスと同じパッケージに属しているクラスをインポートしている場合
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 クラス内の宣言順序を確認する。
デフォルトは上からstatic変数、インスタンス変数、コンストラクタ、メソッドの順になる。
FileTabCharacter ファイルの中でタブを使用している場合に警告する
CyclomaticComplexity 才クロマチック数がmaxで設定した値を超えている場合に警告する
NPathComplexity 条件分岐数がmaxで設定した値を超えている場合に警告する
FileLength ファイル全体の行数がmaxに設定されている値を超えている場合に警告する
WhitespaceAfter ,,;,if,else,while,do,for,do-whileの後にスペースが入っていない場合に警告する
WhitespaceAround WhitespaceAfterを強力にしたもの。
しかし、,,;は検出できない。
()の前後のスペースなどを確認する。
NoWhitespaceBefore ,,;,++,--,...の前にスペースが入っている場合は警告する
NoWhitespaceAfter @,++,--,+,-,!,.,配列の初期化の後にスペースが入っている場合に警告する
OverloadMethodsDeclarationOrder オーバーロードされたメソッドがまとまって1か所に記述されていない場合に警告する
UnnecessarySemicolonEnumeration enumに不要なセミコロンが記述されている場合に警告する
MultipleStringLiterals ファイル内に同じStringリテラルがある場合に警告する
OuterTypeFilename ファイル名と定義されているクラス名が異なる場合に警告する
ModifierOrder 修飾子の順番がJava標準に従っていない場合に警告する。
順番は上位からpublic,protected,private,abstract,default,static,final,transient,volatile,synchronaized,native,strictfp
RendundantModifier 冗長な修飾子がある場合に警告する
ClassTypeParameterName クラスのジェネリクス宣言時の<>で囲む型名を確認する

まとめ

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

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

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2