Магические числа (MagicNumber)¶
| Тип | Поддерживаются языки  | 
Важность | Включена по умолчанию  | 
Время на исправление (мин)  | 
Теги | 
|---|---|---|---|---|---|
Дефект кода | 
BSLOS | 
Незначительный | 
Да | 
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
}