Question

J'ai hérité une énorme base de code que je dois faire quelques petits changements dans. Je me demandais s'il existe des utilitaires qui parser le code Python et donner des dépendances entre les fonctions, comme si je fais des changements à une fonction que je veux être sûr que je ne casse d'autres fonctions, donc si je pouvais voir dans un graphique comme diagramme, il rendrait ma vie plus facile.

Était-ce utile?

La solution

  • En général, la "dépendance" est défini pour le module d'importation / paquet.
  • Ce que vous cherchez est un flux d'appels de visualisation.

  • Vous pouvez toujours pas garantir que vous ne cassera pas la fonctionnalité:)

  • Mon expérience et de la solution:

    Plusieurs fois d'un, je trouve les données de flux d'appels accablant et le diagramme trop complexe. Donc ce que je fais habituellement est trace flux d'appels partiellement la fonction, je suis intéressé.

    Ceci est fait en utilisant la fonction sys.settrace (...). Après avoir généré le flux d'appels sous forme de données textuelles, je générer un graphe d'appel en utilisant graphviz.

[Edit: en fonction des commentaires]

Alors ma solution fragmentaire fonctionne mieux. Il suffit d'insérer le code et utiliser le décorateur sur une fonction que vous voulez tracer. Vous verrez des lacunes où différé entre en image, mais qui peut être élaboré. Vous ne recevrez pas directement l'image complète.

J'ai essayé de le faire et a fait un peu après que les travaux sur ce compréhension.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top