Метод производит вычисления с большим количеством чисел без описания их семантики.
Проблемы
- "Связь"
- Низкая тестируемость
- Низкая читаемость
- Повторный код
Решения
1) Переименуйте константу, указав семантику и имя (значимое и раскрывающее намерение).
2) Замени константы параметрами, чтобы можно было издеваться над ними извне.
3) Определение константы часто представляет собой другой объект, чем постоянный (ab) пользователь.
Примеры
- Гиперпараметры алгоритмов
Образец кода
Неправильный
Правильно
Обнаружение
Многие линтеры могут обнаруживать числовые литералы в атрибутах и методах.
связи
Теги
- Жестко закодированный
- Константы
- Повторный код
Больше информации
Эта статья является частью серии Code Smell Series.