Программно опустить «безопасные» методы в Smalltalk - PullRequest
2 голосов
/ 05 марта 2012

Я хочу собрать, какие методы могут быть безопасно перенесены из суперкласса в подкласс, в частности, когда у вас есть только один подкласс, и нет причин поддерживать метод в суперклассе.

Может быть, речь идет о динамическом обнаружении этих методов (во время выполнения), чтобы проверить, какие из них выполняются в суперклассе И их можно отбросить, учитывая, что существует только один подкласс?Кто-то сделал это?Может быть, есть инструмент?

1 Ответ

1 голос
/ 05 марта 2012

Механизм рефакторинга содержит различные правила критики кода, которые выявляют ситуации, которые могут быть вызваны описанной вами проблемой, например, «Переменные, на которые нет ссылок», «Служебные методы», «Ссылки на абстрактный класс», «Класс, на который нет ссылок», ...

Механизм рефакторинга может, конечно, также нажимать на обнаруженные методы и удалять неиспользуемый класс из иерархии.

...