Есть несколько человек, которым не нравятся break
и continue
. Последняя жалоба, которую я видел о них, была в JavaScript: The Good Parts Дугласа Крокфорда. Но я считаю, что иногда использование одного из них действительно упрощает вещи, особенно если ваш язык не включает в себя цикл do-while
или do-until
.
Я склонен использовать break
в циклах, которые что-то ищут в списке. Найдя, нет смысла продолжать, так что вы могли бы также выйти.
Я использую continue
, когда выполняю что-то с большинством элементов списка, но все же хочу пропустить несколько.
Оператор break
также пригодится при опросе на предмет правильного ответа от кого-то или чего-либо. Вместо:
Ask a question
While the answer is invalid:
Ask the question
Вы можете устранить некоторые дубликаты и использовать:
While True:
Ask a question
If the answer is valid:
break
Цикл do-until
, который я упоминал ранее, является более элегантным решением для этой конкретной проблемы:
Do:
Ask a question
Until the answer is valid
Никакого дублирования, и break
также не требуется.