DefaultComesLast
検証環境
Checkstyleバージョン:10.3.3
Javaバージョン:17
チェック概要
チェック追加バージョン |
---|
Checkstyle 3.4 |
switch文の中で default がすべてのcaseの後にあることをチェックする。
Javaではswitch文の中のどこでもdefaultが可能だが、最後のcaseの後に来る方が可読性が高くなる。
プロパティ
プロパティ | 型 | デフォルト値 | 説明 | 追加バージョン |
---|---|---|---|---|
skipIfLastAndSharedWithCase | boolean | false | defaultが最後でない場合に、caseと一緒にいるdefaultを許可するかどうか | 7.7 |
設定+チェック実行結果
プロパティ設定なし
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="DefaultComesLast"/> </module> </module>
チェック実行例
// OK switch (i) { case 1: break; case 2: break; default: break; } // NG default の後ろにも case が存在している switch (i) { case 1: break; default: break; case 2: break; } // NG default の後ろにも case が存在している switch (i) { case 1: break; case 2: default: break; case 3: break; }
プロパティ設定あり
skipIfLastAndSharedWithCase
trueを設定した場合、defaultが最後でない場合に、caseと一緒にいるdefaultを許可する(デフォルト:false)
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="DeclarationOrder"> <property name="skipIfLastAndSharedWithCase" value="true"/> </module> </module> </module>
チェック実行例
// OK switch (i) { case 1: break; case 2: break; default: break; } // NG default の後ろにも case が存在している switch (i) { case 1: break; default: break; case 2: break; } // OK 「skipIfLastAndSharedWithCase=true」のため、caseと一緒にいる場合はOK switch (i) { case 1: break; case 2: default: break; case 3: break; }