Сталкивались ли вы с классами без поведения? Классы - это их поведение.
TL;DR: удалите все пустые классы.
Проблемы
- Ошибка биекция
- Пространство имен Загрязнение
- Классы, используемые как DTO
- Классы, используемые как глобальные ссылки
Решения
1. Удалите классы и замените их объектами.
2. Если ваши классы являются Anemic Exceptions, удалите их.
Контекст
Многие разработчики до сих пор считают классы хранилищами данных.
Они объединяют концепцию другого поведения с возвратом разных данных.
Образец кода
Неправильный
Верно
Обнаружение
[Х] Автоматически
Несколько линтеров предупреждают нас о пустых классах.
Мы также можем создавать собственные сценарии, используя метапрограммирование.
Теги
- Поведение
Заключение
Классы — это то, что они делают, их поведение.
Пустые классы ничего не делают.
связи
Code Smell 40 — DTO
DTO широко используются и «решают настоящие проблемы, не так ли?blog.devgenius.io»
Больше информации
Ошибка возникает при обработке объектных переменных (переменных экземпляра) так, как если бы они были атрибутами данных, а затем при создании иерархии на основе общих атрибутов. Всегда создавайте иерархии на основе общего поведения.
Дэвид Уэст
Эта статья является частью серии CodeSmell.