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

Оператор "Перейти" не должен использоваться (UsingGoto)

Тип Поддерживаются
языки
Важность Включена
по умолчанию
Время на
исправление (мин)
Теги
Дефект кода BSL
OS
Критичный Да 5 standard
badpractice

Описание диагностики

goto является неструктурированным оператором потока управления. Это делает код менее читаемым и обслуживаемым.
Вместо этого следует использовать структурированные операторы управления потоком, например Если, Пока, Для Продолжить или Прервать.

Примеры

Плохо:

Сч = 0;
~Петля: Сообщить(СтрШаблон("Сч = %1", Сч));
Сч = Сч + 1;

Если Сч < 10 Тогда

    Перейти ~Петля;

КонецЕсли;

Хорошо:

Для Сч = 0 По 10 Цикл

   Сообщить(СтрШаблон("Сч = %1", Сч))

КонецЦикла;

Источники

Сниппеты

Экранирование кода

// BSLLS:UsingGoto-off
// BSLLS:UsingGoto-on

Параметр конфигурационного файла

"UsingGoto": false