Создание графиков зависимостей в Python - PullRequest
29 голосов
/ 12 ноября 2010

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

1 Ответ

24 голосов
/ 12 ноября 2010
  • Обычно для импорта модуля / пакета определяется «зависимость».
  • Требуется визуализировать поток вызовов.

  • Вы все еще не можете гарантировать, что не нарушите функциональность:)

  • Мой опыт и решение:

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

    Это делается с помощью функции sys.settrace (...).После генерации потоков вызовов в виде текстовых данных я генерирую график вызовов, используя graphviz.

[Редактировать: на основе комментариев]

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

Я пытался сделать это и сделал несколько постов , которые работают на этом понимании.

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