Подтвердить что ты не робот

Инструмент Python, который строит диаграмму зависимостей для методов класса

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

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

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

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

Изменить: мне бы очень понравился инструмент командной строки.

4b9b3361

Ответ 1

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

Ответ 2

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

Ответ 3

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

ps.IDE eclipse + pydev

Ответ 4

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

Ответ 5

Просто начал использовать pydeps и пока он работает хорошо.