波括弧のない ifwhiledo、または for ステートメントを報告します。 Google Java Style Guide など、一部のコードスタイルはすべての制御ステートメントに波括弧を要求しています。

波括弧のない制御ステートメントにさらにステートメントを追加する場合、波括弧を追加することを忘れないことが重要です。 また、コード行をコメントアウトする際に波括弧を使用しない場合は、制御フローステートメントの次のステートメント部分を無意識に作成しないよう、さらなる注意が必要です。 常に波括弧を使用することで、コード行の挿入またはコメントアウトがより安全になります。

常に波括弧を使用するコードスタイルを使用していれば、goto fail の脆弱性が発生することはないと思われます。 波括弧を使用した制御ステートメントにより制御フローが分かりやすくなり、間違える可能性のあるインデントを使用する必要もなくなります。

例:


  class Strange {
    void x(boolean one, boolean two) {
      if(one)
        if(two)
          foo();
      else
        bar();
    }

    void foo() {}
    void bar() {}
  }

クイックフィックスを実行すると、ステートメントの本体が波括弧で囲まれます。


  class Strange {
    void x(boolean one, boolean two) {
      if(one) {
        if(two) {
          foo();
        } else {
          bar();
        }
      }
    }

    void foo() {}
    void bar() {}
  }