minimize

空のifブロック

PMD : EmptyIfStmt
CheckStyle : EmptyBlock
FindBugs : UCF: Useless control flow in method

ifブロックが空。
以前記述してあったロジックをコメントアウトした場合などによく起こります。

if (x == 0) {
  // v = 10;
}

このような場合、ifブロック毎コメントアウトするのが良い方法です。
そして、一定期間が過ぎたらコメントアウトではなく完全に削除しましょう。
ソース管理システムを使えば過去の履歴はいつでも参照することが出来ます。

空のwhileブロック

PMD : EmptyWhileStmt
CheckStyle : EmptyBlock

空のifブロック と同様です。

空のswitchブロック

PMD : EmptySwitchStatements
CheckStyle : EmptyBlock

空のifブロック と同様です。

定数値のifブロック

デバッグ時などでこういう事をするかもしれませんが、
リリース時のコードには含めないようにしましょう。

if (true) {
  // 常にこのブロックは実行される。if文は必要無い
}

PMD : UnconditionalIfStatement

その他の空ブロック

空のsynchronizedブロック。
PMD : EmptySynchronizedBlock
FindBugs : ESync: Empty synchronized block

空のクラス初期化ブロック。
PMD : EmptyStaticInitializer

finalクラス

finalで定義されたクラスは、暗黙的に全てのメソッドがfinalになります。
よって、メソッドにわざわざfinalを記述する必要はありません。

PMD : UnnecessaryFinalModifier

インターフェイス

インターフェイス内で定義されたメソッドは暗黙的に public abstract になります。
また、変数は暗黙的に public static final になります。
よって、これらの識別子を明示的に宣言する必要はありません。

PMD : UnusedModifier

instanceof 演算子

instanceof 演算子は、nullインスタンスに対応しています。
つまり、

if (x != null && x instanceof String) {...}

↑このような処理は不要です。

if (x instanceof String) {...}

↑こうしましょう。

PMD : SimplifyConditional

[コメント(0)]