Инструмент Python, который строит диаграмму зависимостей для методов класса - PullRequest
16 голосов
/ 28 апреля 2009

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

Я определяю метод x() как зависимость метода y(), если x() вызывается хотя бы один раз в y().

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

Я планирую перенести некоторые функции в другие классы, и я думаю, что такой подход поможет мне решить, какие части извлечь из исходного огромного класса.

Редактировать: Мне действительно нужен инструмент командной строки.

Ответы [ 4 ]

4 голосов
/ 29 апреля 2009

Вы уже смотрели на Snakefood еще? Похоже, это именно то, что вы ищете.

1 голос
/ 28 апреля 2009

Вы пробовали pydev ? Это расширение Python для затмения. Я считаю, что это позволяет вам использовать функцию «иерархии вызовов» в Eclipse для просмотра графика вызовов для данного метода. Это не совсем то, что вы хотите, но, возможно, этого достаточно, чтобы начать.

0 голосов
/ 30 июля 2013

Pycallgraph должен делать то, что вы ищете.

0 голосов
/ 08 марта 2010

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

ps.IDE Eclipse + pydev

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