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