Також відомий як Parallel Inheritance Hierarchies

Запах коду Паралельні ієрархії наслідування

Симптоми і ознаки

Всякий раз при створенні підкласу якогось класу доводиться створювати ще один підклас для іншого класу.

Причини появи

Доки ієрархія була невелика, все було добре. Але з додаванням нових класів вносити зміни ставало все складніше і складніше.

Лікування

  • Ви можете спробувати усунути дублювання паралельних класів в два етапи. По-перше, потрібно змусити екземпляри однієї ієрархії посилатися на екземпляри іншого ієрархії. Потім слід прибрати ієрархію в класі, що посилається, за допомогою переміщення методу і переміщення поля.

Виграш

  • Зникає дублювання коду.
  • Може поліпшити організацію коду.

Не варто чіпати, якщо...

  • Іноді наявність паралельної ієрархії — це необхідне зло, без якого структура коду програми була б ще гірше. Якщо ви виявите, що ваші спроби усунути дублювання призводять до ще більшого погіршення організації коду, то... зупиніть рефакторинг, відкатіть всі внесені зміни, випийте чаю і почніть звикати до цього коду.

Замучились читати?

Збігайте за подушкою, в нас тут контенту приблизно на 7 годин читання.

Або спробуйте наш новий інтерактивний курс з рефакторингу. Він більш інформативний та набагато цікавіший за банальний тест.

Дізнатися більше...