Перейти к содержанию

Безусловное прерывание/продолжение цикла

В теле цикла не рекомендуется использовать операторы, прерывающие выполнение цикла (Возврат, Продолжить, Прервать, Перейти) без условия.

В случае безусловного использования этих операторов циклы - или будут бесконечными - или выполнятся всего один раз. А в этом случае цикл лучше исключить.

Подозрительный код

Пока Счетчик >= 0 Цикл
  Сообщить(Дни[Счетчик]);
  Продолжить;
КонецЦикла;

Правильный код

Пока Счетчик >= 0 Цикл
  Сообщить(Дни[Счетчик]);
  Если МоеУсловие() Тогда
    Счетчик = Счетчик + 1;
    Продолжить;
  КонецЕсли;
КонецЦикла;

См. также - Согласно Common Weakness Enumeration, потенциальные ошибки, найденные с помощью этой диагностики, классифицируются как CWE-670 - PVSStudio V612. An unconditional 'break/continue/return/goto' within a loop.