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

Магические числа (MagicNumber)

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

Параметры

Имя Тип Описание Значение
по умолчанию
authorizedNumbers Строка Список разрешенных чисел через запятую. Например: -1,0,1,60 -1,0,1
allowMagicIndexes Булево Разрешить магические индексы true

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

Магические числа - это любое число в вашем коде, которое не сразу становится очевидным без погружения в контекст.

Примеры

Плохо

Функция ПопадаетВИнтервал(Длительность)

    Возврат Длительность < 10 * 60 * 60; 

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

Хорошо

Функция ПопадаетВИнтервал(ДлительностьВСекундах)

    МинутВЧасе      = 60;
    СекундВМинуте   = 60;
    СекундВЧасе     = СекундВМинуте * МинутВЧасе;
    ЧасовВИнтервале = 10;
    Возврат Длительность < ЧасовВИнтервале * СекундВЧасе; 

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

Сниппеты

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

// BSLLS:MagicNumber-off
// BSLLS:MagicNumber-on

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

"MagicNumber": {
    "authorizedNumbers": "-1,0,1",
    "allowMagicIndexes": true
}