web-dev-qa-db-fra.com

Visualiser l'architecture de votre code

Chaque week-end, je code sur un projet personnel qui, avec le temps, a atteint une certaine complexité maintenant, où j'ai des séquences de différentes fonctions qui prennent mon entrée, que j'enregistre dans certains objets de classe, le hache, le traite et enfin sortie.
Comme je fais de grandes pauses entre les sessions de codage, j'oublie généralement la structure précise de mon code. Par conséquent, chaque fois que j'ai un bug, je dois me familiariser avec la façon dont les données d'entrée circulent dans mon code, comment à l'intérieur d'un module qui fournit des fonctionnalités, les choses sont organisées, etc.

Je ne sais pas si cela est dû à une mauvaise structure de code de mon logiciel ou simplement à une complexité inhérente.

Existe-t-il un outil qui, compte tenu du code source, me montre visuellement comment "l'architecture" de mon code, c'est-à-dire comment les méthodes et les fonctions des classes fonctionnent ensemble?

Idéalement, cela m'aiderait également à comprendre le code que d'autres personnes ont écrit plus rapidement, pour obtenir rapidement un aperçu de la façon dont les éléments de code individuels interagissent.

(Je code en Python avec Pycharm, si cela vous aide.)

15
l7ll7

Je crains qu'il n'y ait pas d'outil parfait pour visualiser globalement votre architecture de programme et son flux de contrôle, vous devez les garder dans votre tête et rendre votre architecture logicielle propre, uniforme et prévisible. Cependant, il existe des outils qui peuvent vous aider.

Dans Pycharm, vous pouvez:

  • voir structure et hiérarchie du code source

  • voir Diagramme UML de vos classes.

Il y a aussi le pycallgraph2Pythonmodule qui peut créer des visualisations de graphique d'appel pour les applications Python. (Ceci est une fourchette maintenue du pycallgraphPythonmodule )

Et il y a CodimensionIDE qui a Python visualisation de code fonctionnalité

10
SergeyLebedev