2.1 KiB
2.1 KiB
#рефакторинг #запахи_кода
Иногда это функция, которая должна была вырасти и стать важной и востребованной позже, но которая так и не осуществила свои мечты. Иногда это класс, который раньше был нужен, но оказался уменьшен с помощью рефакторинга. В любом случае, такие элементы программы должны умереть с достоинством
Признаки
- Класс не делает достаточно много, чтобы уделять ему достаточно внимания, он должен быть уничтожен
Причины появления
- Класс был задуман как полнофункциональный, но в результате рефакторинга ужался до неприличных размеров
- Класс создавался в расчёте на некие будущие разработки, до которых руки так и не дошли
Рефакторинги
- Встраивание функции (Inline Function)
- Встраивание класса (Inline Class)
- Свертывание иерархии (Collapse Hierarchy)
Результат
- Уменьшение размера кода
- Упрощение поддержки
Не стоит трогать, если...
- Иногда Ленивый класс бывает создан для того, чтобы явно очертить какие-то намерения. В этом случае, стоит соблюдать баланс понятности кода и его простоты

