1.6 KiB
1.6 KiB
#рефакторинг #запахи_кода
Признаки
- Всякий раз при создании подкласса какого-то класса приходится создавать ещё один подкласс для другого класса
Причины появления
- Пока иерархия была небольшая, всё было хорошо. Но с появлением новых классов вносить изменения становилось всё сложнее и сложнее
Рефакторинги
Результат
- Уменьшает дублирования кода
- Может улучшить организацию кода
Не стоит трогать, если...
- Иногда наличие паралельной иерархии — это необходимое зло, без которого устройство программы было бы еще хуже. Если вы обнаружите, что ваши попытки устранить дублирование приводят к еще большему ухудшению организации кода, то... остановите рефакторинг, откатите все внесенные изменения, выпейте чаю и начните привыкать к этому коду

