Im Grunde möchte ich Tools, die eine Quellcode-Visualisierung generieren wie:
- Funktionsaufrufdiagramm
- Abhängigkeitsdiagramm
- ...
Im Grunde möchte ich Tools, die eine Quellcode-Visualisierung generieren wie:
Doxygen ist dafür wirklich ausgezeichnet, obwohl Sie GraphViz installieren müssen, um die Grafiken zu zeichnen.
Sobald Sie alles installiert haben, ist es wirklich ziemlich einfach, die Grafiken zu zeichnen. Stellen Sie sicher, dass Sie EXTRACT_ALL und CALL_GRAPH auf true setzen, und Sie sollten bereit sein.
Die vollständige Dokumentation zu dieser Funktion für Doxygen finden Sie hier.
Ich empfehle BOUML nachdrücklich. Es handelt sich um eine kostenlose UML-Modellierungsanwendung, die:
Also: Importieren Sie Ihren Code in BOUML und zeigen Sie ihn dort an, oder exportieren Sie ihn als SVG und zeigen Sie ihn in Firefox an.
Für die kostenlose Version:
Sie können sich verschiedene Tools für Software-Design und Modellierung ansehen (Rational Rose, Sparx Enterprise Architect, Umbrello, etc). Die meisten von ihnen haben einige Funktionen für das Reverse Engineering von Quellcode, um UML-Klassendiagramme zu erhalten, und manchmal sogar Sequenzdiagramme (und das kommt dem Funktionsaufrufgraphen sehr nahe).
Aber wenn Sie einige Bilder auf einem wirklich großen Projekt-Codebasis haben, könnten Sie feststellen, dass solche Graphen ziemlich schwer zu lesen und zu verstehen sind. Leider sind die Visualisierungsmöglichkeiten von Komplexität sehr begrenzt.
Für mich ist der Einsatz des Idioms "teile und herrsche" ein bequemerer Ansatz. Sie können verschiedene Funktionsblöcke oder Schichten aus Ihrer Codebasis extrahieren (einfach Cpp-Dateien nach verschiedenen Ordnern sortieren reicht manchmal aus). Ein anderer Weg ist die Verwendung einiger Skripte (bash, Python), um einfache CSV-Tabellen mit interessanten Parametern von Dateien, Klassen oder Funktionen wie "Anzahl der Abhängigkeiten" usw. zu erstellen.
Wenn Sie Visual Studio verwenden, können Sie mit der Ultimate-Version 2010 Sequenzdiagramme und Abhängigkeitsgraphen generieren. Derzeit unterstützt die Version jedoch nur .NET-Anwendungsprojekte.
Das Team hat großes Interesse bekundet, C++ in einer zukünftigen Version zu unterstützen, daher sollten Sie auf dem Laufenden bleiben. In der Zwischenzeit können Sie im Forum für architektonische Entdeckungs- und Modellierungstools von VS 2010 unter http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads eine Aktualisierung anfordern. Ich weiß, dass das Entwicklungsteam gerne Kundenfeedback zu den Tools erhält.
In der Zwischenzeit können Sie mehr über das Erstellen von Sequenzdiagrammen und Abhängigkeitsdiagrammen aus .NET-Code in den folgenden Themen erfahren:
So finden Sie Code mit dem Architektur-Explorer: http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx
So generieren Sie Graphendokumente aus Code: http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource
So erkunden Sie Code mit Sequenzdiagrammen: http://msdn.microsoft.com/en-us/library/ee317485%28VS.100%29.aspx
Um die RC-Version auszuprobieren und Feedback zu geben, laden Sie sie unter http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.