9
votes

Quelles options sont là pour visualiser des relations de classe dans un programme Python

Je maintient un programme Python et je me lance de comprendre les relations entre les différentes classes. Je pense qu'il serait utile de voir un diagramme de la manière dont les classes interagissent.

Quelles options sont disponibles disponibles qui pourraient me permettre de le faire?


1 commentaires

Il y a une autre solution pour cela sur un autre post: Stackoverflow.com/questions/260165/...


6 Réponses :


1
votes

Si vous recherchez des IDES qui ont cette fonctionnalité, alors:

  1. KOMODO
  2. pydev pour Eclipse

1 commentaires

Vous parlez-vous à l'analyse de code PYDEV? Cela n'a pas l'air graphique pour moi



3
votes

juste mes 2 cents.

Outils de cas comme L'architecte d'entreprise peut générer des schémas de classe à partir du code Python, toutefois, dans le but de comprendre, je préfère modéliser grossièrement les classes et les relations à la main.

Je suis aussi utilise UML lorsque je veux comprendre le nouveau code, obtenir un aperçu grossier des collaborations entre les classes et obtenir une vue sur les héritachies héritages.

La plupart des IDes ont des moyens d'explorer le code, mais je trouve de petits diagrammes UML cohésifs plus faciles à digérer et à mémoriser.

Je trouve également des modèles de domaine plus faciles à comprendre quand sur un diagramme de classe.


0 commentaires

1
votes

GAPHOR possède une fonctionnalité pour importer le module Python et générer des diagrammes de classe UML, tout de toute façon que ce n'est pas si bon. < / p>

Quoi qu'il en soit, les outils d'analyse de code sur Python ne fonctionnent pas très bien, car personne ne peut "prédire" quels arguments seront transmis (ou retournés) par des fonctions et ainsi de suite. La plupart d'entre eux "devinent" le type passé.

En espérant que Python 3 avec "l'annotation de la fonction" peut résoudre ce genre de "problème"


0 commentaires

1
votes

Grande question! Selon la façon dont vous êtes pratique, vous pouvez envisager d'utiliser le module de trace sur une exécution de votre code.

python -m trace -T yourprogram.py


0 commentaires

1
votes

Consultez épydoc . Il est généralement considéré comme un générateur de documentation, mais consultez le graphique (généré automatiquement) dans cet exemple:

http://epydoc.sourceforge.net/api/epydoc .apidoc.routineinedoc-class.html


0 commentaires

0
votes

Si c'est Django, vous pouvez également faire

./manage.py graph_models 


0 commentaires