Метод не должен содержать много возвратов (TooManyReturns)¶
Тип | Поддерживаются языки |
Важность | Включена по умолчанию |
Время на исправление (мин) |
Теги |
---|---|---|---|---|---|
Дефект кода |
BSL OS |
Незначительный |
Нет |
20 |
brainoverload |
Параметры¶
Имя | Тип | Описание | Значение по умолчанию |
---|---|---|---|
maxReturnsCount |
Целое |
Максимально допустимое количество возвратов внутри метода |
3 |
Описание диагностики¶
Большое количество возвратов в методе (процедуре или функции) увеличивает его сложность и снижает производительность и восприятие.
Примеры¶
Пример плохого метода
Функция Пример(Условие)
Если Условие = 1 Тогда
Возврат "Проверка пройдена";
ИначеЕсли Условие = 2 Тогда
ВыполнитьДействие();
Возврат "Проверка не пройдена";
ИначеЕсли Условие > 7 Тогда
Если ВыполнитьПроверку(Условие) Тогда
Возврат "Проверка пройдена";
Иначе
Возврат "Проверка не пройдена";
КонецЕсли;
КонецЕсли;
Возврат "";
КонецФункции
Источники¶
- Why Many Return Statements Are a Bad Idea in OOP
- JAVA: Methods should not have too many return statements
- Почему ранний возврат из функций так важен?
Сниппеты¶
Экранирование кода¶
// BSLLS:TooManyReturns-off
// BSLLS:TooManyReturns-on
Параметр конфигурационного файла¶
"TooManyReturns": {
"maxReturnsCount": 3
}