O uso da declaração 'break' aumenta a complexidade essencial do código fonte e assim evita qualquer refatoração do código fonte para substituir todas as estruturas de controle bem estruturados com uma única instrução.
Por exemplo, com o seguinte fragmento de código java, não é possível aplicar o padrão de refatoração 'extrair método':
mylabel : for (int i = 0 ; i< 3; i++) { for (int j = 0; j < 4 ; j++) { doSomething(); if (checkSomething()) { break mylabel; } } }
O uso da declaração 'break' só é permitido dentro de uma declaração 'switch'.