Checkstyle Javaルール

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

EmptyForIteratorPad

CheckStyle公式ドキュメント#EmptyForIteratorPad

バージョン

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


チェック概要

チェック追加Ver
Checkstyle 3.0

for文の空の変化式に空白を許可するかどうかをチェックする。
forの変化式後に改行されている場合はチェックが実行されない。

❕forの変化式とは

for文の()内の最後の式のことであり、ループ変数の値を変更する式のことを指す。

for (初期化式; 条件式; 変化式){  
  // 繰り返しの中で実行される処理  
}

プロパティ

プロパティ デフォルト値 説明 追加Ver
option PadOption nospace 空白パディングについてのポリシーを指定 3.0

❕PadOptionの設定値

説明
nospace 空白パディングは行わない
space 空白パディングを行う

設定+チェック実行結果

プロパティを設定しない場合

設定ファイル記述方法

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

チェック実行例

// OK
for (Iterator it = map.entrySet().iterator(); it.hasNext(););
// OK 空の変化式後に改行されているためチェックは実行されない
for (Iterator foo = very.long.line.iterator(); foo.hasNext();
     );

// NG 空の変化式の位置に空白が挿入されている
for (Iterator it = map.entrySet().iterator(); it.hasNext(); );

プロパティを設定した場合

option

空白パディングについてのポリシーを指定する。
デフォルト:nospace

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="EmptyForIteratorPad">
            <property name="option" value="space"/>
        </module>
    </module>
</module>

チェック実行例

// NG 空の変化式の位置に空白が挿入されていない
for (Iterator it = map.entrySet().iterator(); it.hasNext(););
// OK 空の変化式後に改行されているためチェックは実行されない
for (Iterator foo = very.long.line.iterator(); foo.hasNext();
     );

// OK
for (Iterator it = map.entrySet().iterator(); it.hasNext(); );