Магические числа не должны использоваться
Магические числа - это числа, появляющиеся ниоткуда и используемые прямо в выражении. Магические числа часто используются, например, для инициализации и ограничения счетчиков в циклах для проверки значений свойств и т.п.
Использование магических чисел может быть очевидным и понятным в тот момент, когда вы пишете данный участок кода, но они менее очевидны в момент отладки. Поэтому магические числа должны быть объяснены первоначальным присваиванием переменной с понятным именем. -1
, 0
и 1
не считаются магическими числами.
Пример кода, нарушающий стандарт:
Процедура МояПроцедура()
Если СтрДлина(Имя) > 150 Тогда // Нарушение. 150 - магическое число
Имя = ОбрезатьИмя(Имя);
КонецЕсли;
КонецПроцедуры
Удовлетворяющее решение:
Процедура МояПроцедура()
МаксимальнаяДлинаНаименованияВМетаданных = 150;
Если СтрДлина(Имя) > МаксимальнаяДлинаНаименованияВМетаданных Тогда
Имя = ОбрезатьИмя(Имя);
КонецЕсли;
КонецПроцедуры
Экранирование кода
// sonar:MagicNumber:off
// sonar:MagicNumber:on