'break' 文を使った分岐は、本質的にソースコードの複雑さを増すことにつながるので、そのようなソースコードにリファクタリングを行い、一連の単一の文で構成されるような制御構造に置き換えることは難しくなる。

例えば、以下の Java プログラムの断片において、「メソッド抽出(extract method)」のリファクタリングパターンを適用することはできない。

mylabel : for (int i = 0 ; i< 3; i++) {
  for (int j = 0; j < 4 ; j++) {
    doSomething();
    if (checkSomething()) {
      break mylabel;
    }
  }
}

ただし、'switch' 文の中での 'break' 文による分岐だけは認められている。