Есть ли утилита для Delphi 6, которая анализирует иерархию классов и может запрашивать происхождение методов?

Есть ли инструмент для Delphi 6, который может анализировать иерархию классов вашего приложения и отвечать на вопросы о конкретных методах? Я мог бы использовать инструмент, который мог бы принимать конкретное имя метода и показывал бы, какие классы в иерархии вызовов реализуют этот метод, свойства метода на каждом уровне наследования (абстрактный, переопределенный и т. д.), тело вызова на каждом уровне. можно увидеть, где реализация метода является просто заглушкой, и вызывает ли каждая реализация унаследованный метод или нет.


person Robert Oschler    schedule 17.11.2011    source источник


Ответы (1)


Я искал такой инструмент с тех пор, как начал заниматься объектно-ориентированной разработкой (1998 год). Это было бы большим подспорьем в изучении VCL или любой другой библиотеки, с которой вы (пока) не знакомы. Также было бы здорово заново ознакомиться с частями большой базы кода. Хотя еще не нашел.

Modelmaker от Gerrit Beuze подходит близко. Он может читать ваш код, а затем вы можете исследовать иерархию классов. В стандартной настройке у вас есть ваши классы в дереве или списке в левом верхнем углу, объявления методов для выбранного класса в левом нижнем углу и реализации методов могут отображаться в правой части окна, когда вы выбираете правильное представление.

ModelMaker Code Explorer делает то же самое в IDE (используя код IDE редактор, конечно), но без иерархии классов.

Я еще не нашел способа с помощью ModelMaker или любого другого инструмента показать этот материал в представлении, ориентированном на метод. Что-то вроде левой части ModelMaker, но с правой стороной, показывающей реализации на каждом уровне в иерархии классов (включая модификаторы virtual/override и т. д.), которые вы обычно не видите в разделе реализации. Было бы неплохо, если бы он также мог обнаруживать пропущенные «унаследованные» вызовы.

person Marjan Venema    schedule 17.11.2011