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

Использование синтаксической конструкции Если...Тогда...ИначеЕсли... (IfElseIfEndsWithElse)

  • Тип: Дефект кода
  • Важность: Важный
  • Включена по умолчанию: Да
  • Теги: badpractice

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

Правило применяется всякий раз, когда условный оператор Если Тогда ИначеЕсли содержит одну или несколько конструкций ИначеЕсли. За последней конструкцией ИначеЕсли должна следовать конструкция Иначе.

Требование к заключительной конструкции Иначе - это защитное программирование. Такие конструкции устойчивы к возможным изменениям и не маскируют возможные ошибки.

Конструкция Иначе должна либо принимать соответствующие меры, либо содержать подходящий комментарий относительно того, почему не предпринимается никаких действий.

Примеры

Неправильно:

Если ТипЗнч(ВходящийПараметр) = Тип("Структура") Тогда
    Результат = ЗаполнитьПоСтруктуре(ВходящийПараметр);
ИначеЕсли ТипЗнч(ВходящийПараметр) = Тип("Документ.Ссылка.ВажныйДокумент") Тогда
    Результат = ЗаполнитьПоДокументу(ВходящийПараметр);
КонецЕсли;

Правильно:

Если ТипЗнч(ВходящийПараметр) = Тип("Структура") Тогда
    Результат = ЗаполнитьПоСтруктуре(ВходящийПараметр);
ИначеЕсли ТипЗнч(ВходящийПараметр) = Тип("Документ.Ссылка.ВажныйДокумент") Тогда
    Результат = ЗаполнитьПоДокументу(ВходящийПараметр);
Иначе
    ВызватьИсключение "Передан параметр неверного типа";
КонецЕсли;

Соответствие стандартам

Нет подтверждённых связей со стандартами.

Источник диагностики