Функция всегда возвращает одно и то же примитивное значение (FunctionReturnsSamePrimitive)¶
Тип | Поддерживаются языки |
Важность | Включена по умолчанию |
Время на исправление (мин) |
Теги |
---|---|---|---|---|---|
Ошибка |
BSL OS |
Важный |
Да |
5 |
design badpractice |
Параметры¶
Имя | Тип | Описание | Значение по умолчанию |
---|---|---|---|
skipAttachable |
Булево |
Не учитывать подключаемые методы |
true |
caseSensitiveForString |
Булево |
Учитывать регистр в строковых значениях |
false |
Описание диагностики¶
Функция не должна возвращать одно и тоже примитивное значение. Если результат функции не учитывается - то нужно функцию переписать на процедуру.
Примеры¶
Плохо:
Функция ПроверитьСтроку(Знач СтрокаТаблицы)
Если ЭтоХорошаяСтрока(СтрокаТаблицы) Тогда
ДелаемЧтоТоЧтобыНеРугаласьПроверкаНаПовтор();
Возврат Истина;
ИначеЕсли ЭтоТожеНеплохаяСтрока(СтрокаТаблицы) Тогда
ДелаемДругоеЧтоТоЧтобыНеРугаласьПроверкаНаПовтор();
Возврат Истина;
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
Хорошо:
Процедура ПроверитьСтроку(Знач СтрокаТаблицы)
Если ЭтоХорошаяСтрока(СтрокаТаблицы) Тогда
ДелаемЧтоТоЧтобыНеРугаласьПроверкаНаПовтор();
ИначеЕсли ЭтоТожеНеплохаяСтрока(СтрокаТаблицы) Тогда
ДелаемДругоеЧтоТоЧтобыНеРугаласьПроверкаНаПовтор();
Иначе
ДелаемЧтотоДругоеИзВеткиИначе();
КонецЕсли;
КонецПроцедуры
Особенности¶
Из проверки исключаются подключаемые Функции. Например:
Функция Подключаемый_КакаяТоКоманда(Команда)
Если ЗначениеЗаполнено(ТекущаяДата) Тогда
Возврат Неопределено;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Источники¶
Сниппеты¶
Экранирование кода¶
// BSLLS:FunctionReturnsSamePrimitive-off
// BSLLS:FunctionReturnsSamePrimitive-on
Параметр конфигурационного файла¶
"FunctionReturnsSamePrimitive": {
"skipAttachable": true,
"caseSensitiveForString": false
}