Что такое магические числа в программировании и как снять это заклятие
Магические числа — пример плохих практик в программировании. Из этой статьи вы узнаете, почему от них надо избавляться и как это делать.
Содержание
Что такое магические числа
В программировании магическими называют числа в коде, смысл которых сложно понять. Взгляните на пример.
Это пример магического числа, потому что невозможно однозначно ответить на вопрос, почему для вычисления bruttoPrice нужно умножить nettoPrice на 1.20. Смысл числа 1.20 приходится восстанавливать по контексту. Но при работе с большими приложениями в реальной разработке это не всегда возможно.
Магические числа не ломают код. В примере выше пользователь увидит окончательную цену, то есть программа отработает. В чём же проблема?
Код с магическими числами сложно понять без контекста. Это может стать проблемой для разработчиков, которые впервые видят приложение. Да и автор кода может забыть, почему использовал именно это число.
Как избавиться от магических чисел
Это можно сделать с помощью константы с понятным названием. То есть название константы должно передавать смысл числа.
Очевидное указание ставки НДС делает код более понятным.
Код с магическими числами сложно поддерживать и расширять. Например, если магазин продаёт товары людям из разных стран, магические числа приводят к дублированию:
Проблему решает избавление от магических чисел:
Резюме:
- Магические числа — плохая практика в программировании
- Обычно магические числа не ломают код, а делают его менее понятным
- Чтобы избавиться от магических чисел, достаточно использовать константы или переменные с понятными названиями
Дополнительные материалы
Дмитрий Дементий
5 лет назад
22









