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

Создание графиков зависимостей в Python

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

4b9b3361

Ответ 1

  • Обычно для импорта модулей/пакетов определяется "зависимость".
  • То, что вы ищете, - это визуализирующий поток вызовов.

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

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

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

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

[Изменить: на основе комментариев]

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

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