Число без имени скрывает решение

В коде множитель может выглядеть как обычная арифметика, хотя на деле он задаёт важное правило: переводит одну единицу измерения в другую, учитывает комиссию или компенсирует особенность устройства. Если написать число прямо в формуле, оно становится «магическим числом» — значением, смысл которого нельзя понять по самому коду.

Например, функция рассчитывает итоговую цену и умножает её на коэффициент. Читатель видит действие, но не знает, отражает ли коэффициент налог, скидку, запас на погрешность или требование внешней системы. Это разные причины, а значит, у них могут быть разные правила изменения.

Почему правка становится рискованной

Следующий разработчик не может уверенно решить, что произойдёт, если заменить множитель, убрать его или применить в другом месте. Даже если значение кажется случайным, оно могло появиться после исправления ошибки, настройки оборудования или согласования формата данных. Без объяснения легко «упростить» код и вернуть проблему, которую это число когда-то устранило.

Риск особенно велик, если формула работает в нескольких режимах или влияет на деньги, измерения и управление устройством: незаметное изменение результата может пройти обычную проверку, но проявиться на редком входном значении.

Как сделать смысл проверяемым

Обычно число выносят в константу с говорящим именем, а рядом поясняют, откуда берётся правило и когда оно применимо. Имя отвечает на вопрос «что означает коэффициент», комментарий — на вопрос «почему он нужен». Если значение зависит от настроек или должно меняться, его можно хранить вне формулы, например в конфигурации.

Полезны и тесты, фиксирующие ожидаемый результат для характерных случаев. Тогда будущая правка проверяет не только арифметику, но и само правило. Так число перестаёт быть загадкой: его можно изменить осмысленно — или оставить на месте, зная цену ошибки.