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

Функция всегда возвращает одно и то же примитивное значение (FunctionReturnsSamePrimitive)

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

Параметры

Имя Тип Описание Значение
по умолчанию
skipAttachable Булево Не учитывать подключаемые методы true
caseSensitiveForString Булево Учитывать регистр в строковых значениях false

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

Функция не должна возвращать одно и тоже примитивное значение. Если результат функции не учитывается - то нужно функцию переписать на процедуру.

Примеры

Плохо:

Функция ПроверитьСтроку(Знач СтрокаТаблицы)

    Если ЭтоХорошаяСтрока(СтрокаТаблицы) Тогда
        ДелаемЧтоТоЧтобыНеРугаласьПроверкаНаПовтор();
        Возврат Истина;
    ИначеЕсли ЭтоТожеНеплохаяСтрока(СтрокаТаблицы) Тогда
        ДелаемДругоеЧтоТоЧтобыНеРугаласьПроверкаНаПовтор();
        Возврат Истина;
     Иначе
        Возврат Истина;
    КонецЕсли;

КонецФункции

Хорошо:

Процедура ПроверитьСтроку(Знач СтрокаТаблицы)

    Если ЭтоХорошаяСтрока(СтрокаТаблицы) Тогда
        ДелаемЧтоТоЧтобыНеРугаласьПроверкаНаПовтор();
    ИначеЕсли ЭтоТожеНеплохаяСтрока(СтрокаТаблицы) Тогда
        ДелаемДругоеЧтоТоЧтобыНеРугаласьПроверкаНаПовтор();
    Иначе
        ДелаемЧтотоДругоеИзВеткиИначе();
    КонецЕсли;

КонецПроцедуры

Особенности

Из проверки исключаются подключаемые Функции. Например:

Функция Подключаемый_КакаяТоКоманда(Команда)

    Если ЗначениеЗаполнено(ТекущаяДата) Тогда
        Возврат Неопределено;
    КонецЕсли;

    Возврат Неопределено;

КонецФункции

Источники

Сниппеты

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

// BSLLS:FunctionReturnsSamePrimitive-off
// BSLLS:FunctionReturnsSamePrimitive-on

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

"FunctionReturnsSamePrimitive": {
    "skipAttachable": true,
    "caseSensitiveForString": false
}