Магические числа (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
}