Ответ 1
Вы уже смотрели на Snakefood? Похоже, это именно то, что вы ищете.
Я копаю огромный класс Python, у которого много методов. В конечном итоге я разбиваю сложные на более мелкие кусочки, поэтому количество методов увеличивается еще больше. Интересно, есть ли инструмент, который может сканировать код Python и строить какую-то диаграмму зависимости для своих методов.
Я определяю метод x()
как зависимость метода y()
, если x()
вызывается хотя бы один раз в y()
.
Я мог бы использовать такой инструмент для выделения (если возможно) подмножеств методов класса, не имеющих внешних зависимостей (все их зависимости - это методы из одного и того же подмножества).
Я планирую переместить некоторые функции в другие классы, и я думаю, что такой подход поможет мне решить, какие части извлечь из первоначального огромного класса.
Изменить: мне бы очень понравился инструмент командной строки.
Вы уже смотрели на Snakefood? Похоже, это именно то, что вы ищете.
Вы пробовали pydev? Это расширение python для eclipse. Я считаю, что это позволяет использовать функцию "иерархии вызовов" Eclipse для просмотра графика вызовов для данного метода. Это не совсем то, что вы хотите, но, возможно, этого достаточно, чтобы начать.
Я тоже смущался в этом вопросе, я нашел помощника поиска, который помогает мне найти иерархию вызовов по-другому. не очень хорошо, но лучше, чем у donot. извините за мой английский.
ps.IDE eclipse + pydev
Pycallgraph должен делать то, что вы ищете.
Просто начал использовать pydeps и пока он работает хорошо.