Checkstyle Javaルール

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

SummaryJavadoc

CheckStyle公式ドキュメント

検証環境

Checkstyleバージョン:10.3.3
Javaバージョン:17


チェック概要

Javadocの要約文に、使用を推奨しない語句が含まれていないかチェックする。
{@inheritDoc}タグのみを含む場合、チェックはスキップされ、空でない{@code {@return}}を含む@Summaryは許容される。
最初の文が含まれていないJavadocはチェックNGとなる。

チェック追加バージョン
Checkstyle 6.0

プロパティ

プロパティ デフォルト値 説明 追加バージョン
violateExecution OnNonTightHtml boolean false JavadocTight-HTMLルールに違反している場合、違反を表示するタイミングを制御するかどうか 8.3
forbiddenSummary Fragments Pattern "^$" 禁止されたsummaryの文言の正規表現を指定 6.0
period String "." Javadocの最初の文の末尾のピリオド記号を指定 6.2

設定+チェック実行結果

プロパティ設定なし

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="SummaryJavadocCheck"/>
    </module>
</module>

チェック実行例

// NG summaryが空白なのでNG
/**
 * {@summary  }
 */
public String foo(){
    return "";
}

// OK
/**
 * {@summary <p>This is summary for bar.<p/>}
 */
public void bar(){}

プロパティ設定あり

forbiddenSummaryFragments

summary内で使用させたくない表現の正規表現を指定する

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="SummaryJavadocCheck">
            <property name="forbiddenSummaryFragments" value="^This method returns.*"/>
        </module>
    </module>
</module>

チェック実行例

// NG summaryにforbiddenSummaryFragmentsの文言が含まれている
/**
 * {@summary This method returns. }
 */
public String foo(){
    return "";
}

// OK
/**
 * {@summary <p>This is summary for bar.<p/>}
 */
public void bar(){}

period

Javadocの最初の文の末尾のピリオド記号を指定する

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="SummaryJavadocCheck">
            <property name="period" value="。"/>
        </module>
    </module>
</module>

チェック実行例

// NG
/**
 * Comment!
 */
public void bar(){}

// OK
/**
 * Comment。
 */
public void bar(){}