Есть ли способ увидеть весь код подкласса (из верхней иерархии) в одном представлении

Если класс имеет 5 уровней иерархии, есть ли способ или инструмент для объединения всего кода из иерархии в один класс (используя только определение метода из самого глубокого уровня)?

При выполнении контроля версий API у нас есть единая кодовая база, и мы используем наследование, чтобы изменить логику (только при необходимости) в разных версиях, а также повторно использовать код из более старых версий.
После 20 версий вы получите иерархию с 20 слоями. Старые 10 версий устарели (невидимы для общественности), но код все еще там для повторного использования более новыми версиями.

Теперь мы хотим взять эти 10 самых старых версий и объединить их в одну (последнюю из устаревших версий). Таким образом, у нас будет меньше хаоса в кодовой базе. Один из способов сделать это — пройти 10 версий и объединить методы в один класс, но есть ли способ сделать это программно?

Спасибо

0

Решение

Это может быть достигнуто путем применения Метод Push Down итеративно:

Поведение суперкласса относится только к некоторым его подклассам.

Переместите его в эти подклассы.

Не рекламировать ничего, кроме такого рода рефакторинга, можно с помощью IDE. Например, PhpStorm может помочь вам с этим толкать членов вниз функциональность.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector