Для работы объектов или функций требуется слишком много аргументов
Проблемы
- Низкая ремонтопригодность
- Низкое повторное использование
- Связь
Решения
- Найдите взаимосвязь между аргументами
- Создайте «контекст».
- Рассмотрите возможность использования паттерна Объект метода.
- Избегайте «базовых» типов: строк, массивов, целых чисел и т. Д. Думайте об объектах.
Исключения
- Операции в реальном мире не требуют сплоченных сотрудников.
Образец кода
Неправильный
Правильно
Обнаружение
Большинство линтеров предупреждают, когда список аргументов слишком велик.
Теги
- Примитивный
Вывод
Свяжите аргументы и сгруппируйте их. Всегда отдавайте предпочтение сопоставлениям реального мира. Найдите в реальном мире, как сгруппировать аргументы в связанные объекты.
Если функция получает слишком много аргументов, некоторые из них могут быть связаны с конструкцией класса. Это тоже дизайнерский запах.
связи
Эта статья является частью серии CodeSmell.