Checkstyle / Module / Miscellaneous



GenericIllegalRegexp

親モジュールTreeWalker
実装クラスcom.puppycrawl.tools.checkstyle.checks.GenericIllegalRegexpCheck

指定した正規表現にマッチする部分があるかをチェックします。Checkstyle は正規表現エンジンとして、Jakarta Regexp を使っている。

プロパティ名デフォルト概要
formatRegular Expression^$チェックする正規表現パターン
ignoreCaseBooleanfalse検索時に大文字小文字を区別するかどうか
messageString""マッチしたときに表示するメッセージを指定します

記述サンプル

  • Standard Checkstyle
    <module name = "GenericIllegalRegexp">
       <property name = "format" value = "System\.out\.println" />
       <property name = "message" value = "" />
    </module>
  • Plug-in Checkstyle
    <rule-configuration
        classname = "com.puppycrawl.tools.checkstyle.checks.GenericIllegalRegexpCheck"
        severity = "warning">
        <config-properties>
            <config-property name = "format" value = "System\.out\.println" />
        </config-properties>
    </rule-configuration>

NewlineAtEndOfFile

親モジュールChecker
実装クラスcom.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheck
Since3.1

ファイルの最後が改行で終わっているかをチェックします。

Rationale: ソースファイルやテキストファイルは、一般的に改行文字で終わるべきである。特に、CVS のような SCM を使っているときは。CVS は、改行文字で終わっていないファイルを見つけるたびに、警告を出力することになります。

プロパティ名デフォルト概要
lineSeparatorsystem, crlf, cr, lfsystem改行文字

記述サンプル

  • Standard Checkstyle
    <module name = "NewlineAtEndOfFile">
       <property name = "lineSeparator" value = "lf" />
    </module>
  • Plug-in Checkstyle
    <rule-configuration
        classname = "com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheck"
        severity = "warning">
        <config-properties>
            <config-property name = "lineSeparator" value = "lf" />
        </config-properties>
    </rule-configuration>

TodoComment

親モジュールTreeWalker
実装クラスcom.puppycrawl.tools.checkstyle.checks.TodoCommentCheck

TODO: があるかをチェックします。このチェックは、Java コメント内である正規表現にマッチするかをチェックするために汎用的に使えるものです。他のパターンでチェックしたい場合は、format プロパティで指定します。

TODO: コメントは、やるべきことが分かるようにしておく方法として有用です。これを Checkstyle によってチェックさせることによって、忘れちゃうのを防げます。

プロパティ名デフォルト概要
formatRegular ExpressionTODO:チェックする正規表現パターン

記述サンプル

  • Standard Checkstyle
    <module name = "TodoComment" />
  • Plug-in Checkstyle
    <rule-configuration
        classname = "com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheck"
        severity = "warning">
        <config-properties />
    </rule-configuration>

Translation

親モジュールChecker
実装クラスcom.puppycrawl.tools.checkstyle.checks.TranslationCheck

複数のプロパティファイルに、まったく同じプロパティが各ファイルに存在するかをチェックします。ようは、PropertyResourceBundle を使うときに異なるロケールのプロパティファイルのチェックに使うものです。

プロパティ名デフォルト概要
fileExtensionString Setpropertiesチェックするファイルの拡張子

記述サンプル

  • Standard Checkstyle
    <module name = "Translation" />
  • Plug-in Checkstyle
    <rule-configuration
        classname = "com.puppycrawl.tools.checkstyle.checks.TranslationCheck"
        severity = "warning">
        <config-properties />
    </rule-configuration>

UpperEll

親モジュールTreeWalker
実装クラスcom.puppycrawl.tools.checkstyle.checks.UpperEllCheck

long 定数を定義するときに、L(大文字のL)を使っているかをチェックします。

Rationale: l(小文字のL)は、1(数字の1)に良く似ているため。

記述サンプル

  • Standard Checkstyle
    <module name = "UpperEll" />
  • Plug-in Checkstyle
    <rule-configuration
        classname = "com.puppycrawl.tools.checkstyle.checks.UpperEllCheck"
        severity = "warning">
        <config-properties />
    </rule-configuration>

ArrayTypeStyle

親モジュールTreeWalker
実装クラスcom.puppycrawl.tools.checkstyle.checks.ArrayTypeStyleCheck
Since3.1

配列を宣言するときの書き方をチェックします。

  • Java-style: public static void main(String[] args)
  • C-style: public static void main(String args[])
プロパティ名デフォルト概要
javaStyleBooleantrueJava-style(true)/C-style(false)

記述サンプル

  • Standard Checkstyle
    <module name = "ArrayTypeStyle" />
  • Plug-in Checkstyle
    <rule-configuration
        classname = "com.puppycrawl.tools.checkstyle.checks.ArrayTypeStyleCheck"
        severity = "warning">
        <config-properties />
    </rule-configuration>

チェックサンプル

<module name = "ArrayTyleStyle" />

としたときに、以下のようになる。

OK!  public static void main(String[] args) {
Boo! public static void main(String args[]) {

FinalParameters

親モジュールTreeWalker
実装クラスcom.puppycrawl.tools.checkstyle.checks.FinalParametersCheck

メソッド及びコンストラクタのパラメタの宣言に final がついていることをチェックします。このチェックは、インターフェイスのメソッドには行いません。それは、インターフェイスには実装が無いため、パラメタが変更されることもないからです。

Rationale: パラメタとして渡したオブジェクトが変更されてしまうことは、混乱を招くため避けるべきです。これを防ぐためのよい方法は、パラメタにすべて final をつけることによって、コンパイラにチェックしてもらうことです。

プロパティ名デフォルト概要
tokensMETHOD_DEF, CTOR_DEFすべてチェックする対象

記述サンプル

  • Standard Checkstyle
    <module name = "FinalParameters">
       <property name = "tokens" value = "METHOD_DEF" />
    </module>
  • Plug-in Checkstyle
    <rule-configuration
        classname = "com.puppycrawl.tools.checkstyle.checks.FinalParametersCheck"
        severity = "warning">
        <config-properties>
            <config-property name = "tokens" value = "METHOD_DEF" />
        </config-properties>
    </rule-configuration>

チェックサンプル

<module name = "FinalParameters" />

としたときに、以下のようになる。

OK!  public void replaceNotation(final String value) {
Boo! public void replaceNotation(String value) {

Indentation

親モジュールTreeWalker
実装クラスcom.puppycrawl.tools.checkstyle.checks.indentation.IndentationCheck
Since3.2

コードが正しくインデントされているかをチェックします。

プロパティ名デフォルト概要
basicOffsetInteger41つのインデントを表すスペースの数
braceAdjustmentInteger0
caseIndentInteger4