Оператор "Перейти" не должен использоваться (UsingGoto)¶
| Тип | Поддерживаются языки  | 
Важность | Включена по умолчанию  | 
Время на исправление (мин)  | 
Теги | 
|---|---|---|---|---|---|
Дефект кода | 
BSLOS | 
Критичный | 
Да | 
5 | 
standardbadpractice | 
Описание диагностики¶
goto является неструктурированным оператором потока управления. Это делает код менее читаемым и обслуживаемым.
Вместо этого следует использовать структурированные операторы управления потоком, например
Если, Пока, Для Продолжить или Прервать.
Примеры¶
Плохо:
Сч = 0;
~Петля: Сообщить(СтрШаблон("Сч = %1", Сч));
Сч = Сч + 1;
Если Сч < 10 Тогда
    Перейти ~Петля;
КонецЕсли;
Хорошо:
Для Сч = 0 По 10 Цикл
   Сообщить(СтрШаблон("Сч = %1", Сч))
КонецЦикла;
Источники¶
Сниппеты¶
Экранирование кода¶
// BSLLS:UsingGoto-off
// BSLLS:UsingGoto-on
Параметр конфигурационного файла¶
"UsingGoto": false