Base/Knowledges/IT/Рефакторинг/Запахи кода/Параллельные иерархии наследования.md
2026-02-23 19:52:05 +03:00

1.6 KiB
Raw Permalink Blame History

#рефакторинг #запахи_кода

!Pasted image 20241114073259.png

Признаки

  • Всякий раз при создании подкласса какого-то класса приходится создавать ещё один подкласс для другого класса

Причины появления

  • Пока иерархия была небольшая, всё было хорошо. Но с появлением новых классов вносить изменения становилось всё сложнее и сложнее

Рефакторинги

!Pasted image 20241114073424.png

Результат

  • Уменьшает дублирования кода
  • Может улучшить организацию кода

Не стоит трогать, если...

  • Иногда наличие паралельной иерархии — это необходимое зло, без которого устройство программы было бы еще хуже. Если вы обнаружите, что ваши попытки устранить дублирование приводят к еще большему ухудшению организации кода, то... остановите рефакторинг, откатите все внесенные изменения, выпейте чаю и начните привыкать к этому коду

Ссылки