Checkstyle Javaルール

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

EmptyForInitializerPad

CheckStyle公式ドキュメント#EmptyForInitializerPad

バージョン

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


チェック概要

チェック追加Ver
Checkstyle 3.4

for文の空の初期化式に空白が必要なのか、あるいは空白が禁止されているのかをチェックする。
forの初期化式後に改行されている場合はチェックが実行されない。

❕forの初期化式とは

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

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

プロパティ

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

❕PadOptionの設定値

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

設定+チェック実行結果

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

設定ファイル記述方法

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

チェック実行例

// OK
for (; i < 2; i++ );
// OK
for (;i<2;i++);
// OK 空の初期化式後に改行されているためチェックは実行されない
for (
      ; i < 2; i++ );

// NG 空の初期化式の位置に空白が挿入されている
for ( ; i < 1; i++ );
// NG 空の初期化式の位置に空白が挿入されている
for ( ;i<2;i++);

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

option

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

設定ファイル記述方法

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

チェック実行例

// NG 空の初期化式の位置に空白が挿入されてない
for (; i < 2; i++ );
// NG 空の初期化式の位置に空白が挿入されてない
for (;i<2;i++);
// OK 空の初期化式後に改行されているためチェックは実行されない
for (
      ; i < 2; i++ );

// OK
for ( ; i < 1; i++ );
// OK
for ( ;i<2;i++);