Как число превращается в скрытое правило
В коде число может выглядеть как обычная деталь: `60`, `1024` или `7`. Но оно нередко задаёт важное условие — например, размер пакета данных, время ожидания или число попыток. Если смысл не записан рядом, такое значение называют «магическим числом»: программа использует его, а человеку приходится угадывать, почему выбрано именно оно.
Опасность не в самом числе, а в связи, которую код явно не показывает. Допустим, значение `3` означает максимальное число повторных попыток. В другой части программы та же цифра может обозначать количество элементов в группе. Пока обе части работают согласованно, это незаметно. Но удаление или изменение одного значения способно нарушить ожидания другого участка кода.
Почему старое число может быть незаменимым
Со временем исходная причина выбора значения часто теряется: автора уже нет в команде, документация устарела, а поведение системы зависит от накопившихся договорённостей. Число может соответствовать ограничению внешнего сервиса, формату файла или особенностям старого устройства. Оно выглядит случайным лишь потому, что объяснение осталось за пределами строки кода.
Поэтому разработчик, встретив непонятное значение, не должен просто стирать его или заменять на более «аккуратное». Сначала выясняют, где оно используется и какое поведение меняется при других значениях. Помогают поиск по проекту, тесты и проверка связанных компонентов.
Как сделать смысл видимым
Обычно значение выносят в именованную константу — отдельную запись вроде `MAX_RETRIES`, которая объясняет назначение числа. Если причина выбора важна и не очевидна из имени, её фиксируют комментарием или документацией. Это не отменяет проверок, но превращает загадку в явное правило: следующий человек может оценить последствия изменения, а не гадать по одной цифре.
Самый рискованный код — не обязательно сложный: иногда достаточно одного числа, смысл которого система помнит лучше, чем люди.






