bslls:IfElseIfEndsWithElse¶
Использование синтаксической конструкции Если...Тогда...ИначеЕсли... (IfElseIfEndsWithElse)¶
- Тип: Дефект кода
- Важность: Важный
- Включена по умолчанию: Да
- Теги:
badpractice
Описание диагностики¶
Правило применяется всякий раз, когда условный оператор Если Тогда ИначеЕсли содержит одну или несколько конструкций ИначеЕсли. За последней конструкцией ИначеЕсли должна следовать конструкция Иначе.
Требование к заключительной конструкции Иначе - это защитное программирование. Такие конструкции устойчивы к возможным изменениям и не маскируют возможные ошибки.
Конструкция Иначе должна либо принимать соответствующие меры, либо содержать подходящий комментарий относительно того, почему не предпринимается никаких действий.
Примеры¶
Неправильно:
Если ТипЗнч(ВходящийПараметр) = Тип("Структура") Тогда
Результат = ЗаполнитьПоСтруктуре(ВходящийПараметр);
ИначеЕсли ТипЗнч(ВходящийПараметр) = Тип("Документ.Ссылка.ВажныйДокумент") Тогда
Результат = ЗаполнитьПоДокументу(ВходящийПараметр);
КонецЕсли;
Правильно:
Если ТипЗнч(ВходящийПараметр) = Тип("Структура") Тогда
Результат = ЗаполнитьПоСтруктуре(ВходящийПараметр);
ИначеЕсли ТипЗнч(ВходящийПараметр) = Тип("Документ.Ссылка.ВажныйДокумент") Тогда
Результат = ЗаполнитьПоДокументу(ВходящийПараметр);
Иначе
ВызватьИсключение "Передан параметр неверного типа";
КонецЕсли;
Соответствие стандартам¶
Нет подтверждённых связей со стандартами.
Источник диагностики¶
- Исходная статья
- Ревизия:
f4616cda8a216789ee40529ed857e614b9e2ea25 - Лицензия:
LGPL-3.0-or-later