2010-06-04 5 views

Antwort

2

Just my 2 cents.

Case tools wie Enterprise Architect können Klassendiagramme aus Python-Code, jedoch zum Zwecke des Verstehens erzeugen Ich bevorzuge es grob die Klassen und Beziehungen von Hand zu modellieren.

Auch ich benutze UML, wenn ich neuen Code verstehen will, um einen groben Überblick über die Kollaborationen zwischen Klassen zu erhalten und um einen Überblick über Erbhirachien zu bekommen.

Die meisten IDEs haben Mittel, um den Code zu erforschen, aber ich finde kleine kohäsive UML-Diagramme leichter zu verdauen und zu merken.

Ich finde auch Domain-Modelle leichter zu verstehen, wenn auf einem Klassendiagramm.

1

Wenn Sie IDEs suchen, die diese Funktion haben, dann gilt:

  1. Komodo
  2. Pydev for eclipse
+1

Beziehen Sie sich auf Pydev Code Analysis? Das sieht für mich nicht graphisch aus –

1

gaphor hat eine Funktion, Python-Modul zu importieren und Uml-Klasse-Diagramme zu generieren, jedenfalls ist es nicht so gut.

Wie auch immer, Code-Analyse-Tools auf Python funktionieren nicht sehr gut, da niemand "vorhersagen" kann, welche Argumente von Funktionen übergeben (oder zurückgegeben) werden und so weiter. Die meisten von ihnen "erraten" den Typ bestanden.

die Hoffnung, dass Python 3 mit der Funktion „Anmerkung“, diese Art von „Problem“ lösen kann

1

Gute Frage! Abhängig davon, wie praktisch Sie sind, können Sie das Trace-Modul bei der Ausführung Ihres Codes verwenden.

python -m trace -T yourprogram.py 

Geben Sie wer-angerufen-wer Informationen. Sie können dies entweder analysieren oder einen Code schreiben, der die Ablaufverfolgung programmatisch verwendet, um Ihr Aufrufdiagramm zu extrahieren.

Sobald das erledigt ist, ein bisschen dot hacken, und Sie haben ein Diagramm. Sobald Sie dies getan haben, würde es einen coolen Blog-Post darüber machen, was Sie getan haben und wie es geklappt hat.

0

Wenn es Django ist auch

tun können
./manage.py graph_models 

wenn Sie Django verwenden Command Extenstions

Verwandte Themen