Почему продолжение внутри цикла - плохая идея?
Дуглас Крокфод говорит, что, как правило, лучше continue
внутри петли.
Почему продолжение считается плохим в цикле?
3 ответа
Использование continue
будет означать, что у вас недостаточно условий, написанных на вашем while
,
Вы должны вместо этого использовать if
внутри вашего while
цикл, или добавить условие в while
петля.
Использование goto, break, continue, throw или return внутри тела цикла может также иметь нежелательный эффект. Вот еще один пример, когда элемент управления цикла и тело цикла тесно переплетены. Это пишет 1, 2 и 3 как прежде? Уверены ли вы?
int value = 1;
for (;;++value)
{
cout << value << endl;
if (value != 4)
continue;
else
break;
}
Возможно, вы думаете, что советовать вам не использовать операторы return в теле цикла слишком усердно. Я действительно это имею в виду? Да. Функции, которые возвращают что-то, должны делать это с помощью одного оператора return в самом конце функции. Вот несколько практических причин, почему:
Отказ от ответственности: не мой материал, я ссылался обратно на источник
Эффект continue
как-то сопоставимо с goto
в начале цикла. Это делает ваш код более сложным для понимания - как goto
s.