Understand
Einführung Understand C++
Understand wird zur Messung der Qualität der entwickelten Software genutzt. Dazu wird der Quellcode analysiert um anhand verschiedener Messwerte Ausagen über Komplexität, Wartbarkeit und verschiedene andere Metriken treffen zu können. Dies ist notwendig um ansatzweise eine Steuermöglichkeit für große Projekte zu haben. Understand bietet daneben auch Codechecks und weitere Visualisierungsmöglichkeiten für das Projekt an.
Projekt Browser
Im Projekt Browser werden alle Elemente des Projektes aufgelistet. Diese Dateien können im Code-Fenster(2) betrachtet und verändert werden. Der Entity Filter listet alle Variablen auf, welche in dem Projektressourcen verwendet werden. So kann schnell in die einzelnen Definitionen einer Variable gesprungen werden.
Code-Fenster
Hier wird der Inhalt der Datei angezeigt. Er kann dort auch direkt verändert werden, ohne das Programm wechseln zu müssen. Externe Änderungen werden ebenfalls erkannt. Nach einer Änderung muss das Projekt neu analysiert werden. Leider wird jedoch keine Code-Complition angeboten. Auch eine Syntaxprüfung ist nicht vorhanden.
Information Browser
Im Information Browser werden Informationen zu dem zuletzt im Projekt/Entity Browser ausgewähltem Element angezeigt.
File Context
Im Reiter Structure Browser werden die Informationen aus dem Header, also alle Elemente der Klassen dargestellt. Mit einem Doppelklick springt das Programm automatisch zur Definition in der Datei. Der Reiter File Information bietet einige Allgemeine Infos über die aktuelle Datei. Hier werden auch erste Metriken angezeigt.
Scope Context
Im Scope Context werden neben den Parametern und alle verwendeten Variablen unter Calls alle direkten Methodenaufrufe und deren weiteren aufrufe. Bei Call By werden alle aufrufende Calls aufgelistet.
Projekt anlegen
Um ein neues Projekt mit Understand C++ anzulegen, muss unter File > New > Project
der Projekt Wizard aufgerufen werden. Dort kann der Projektname und der Speicherort für das Projekt festgelegt werden. Auf der nächsten Seite werden die Informationen über die verwendete Programmiersprache angegeben. Hierbei kann es sich auch um mehrere Programmiersprachen handeln. Im nächsten Fenster können mehrere Ordner ausgewählt werden, in denen sich die Quellen befinden. Der Filter für die Auswahl wählt automatisch die Standard-Dateiendung der gewählten Programmiersprache aus. Es werden rekursiv alle Unterordner durchsucht. Danach kann das Projekt direkt analysiert werden. Dies kann je nach Code Größe einige Zeit in Anspruch nehmen. Beim analysieren des Projektes werden meist die Includes der STL als Warnung ausgegeben. Dies kann ignoriert werden. Nach jeder Veränderung von Code-Fragmenten muss das Projekt neu analysiert werden.
Funktionen
Visualisierung
Understand hat einige schöne Visualisierungsfunktionen. Hiermit können die Aufrufhierachien und Verzweigungen sichtbar gemacht werden. Hiermit kann die Testabdeckung überprüft werden, ob alle Schleifen und Bedingungen durchlaufen werden. Hierzu kann auf Dateien oder einzelne Funktionen mit einem Rechtsklick unter Graphical View unterschiedliche Visualisierungsformen ausgewählt werden.
Metriken
Zur Qualitätsmessung des Codes wurden Metriken eingeführt. Diese können mit Understand in der Menüleiste unter Metrics > Browse Metrics für jedes Objekt angezeigt werden. In der linken Fensterhälfte des unten erscheinenden Project Metrics Browser können von Ordnern, über Dateien bis hin zu einzelne Funktionen ausgewählt werden. Es sind knapp 100 Metriken verfügbar, welche je nach Kontext angezeigt werden. Zur besseren Verständlichkeit dieser Metriken gibt es den Link „What does the metric names mean?“.
CodeCheck
Understand bietet auch eine direkte Syntax-Prüfung anhand von Best Practises nach Scott Meyers oder MISRA an. Hierbei werden Problemstellen indentifiziert, welche zu fehlverhalten während der Ausführung führen könnten. Der Check kann in der Menüleiste unter CodeCheck > Open CodeCheck gestartet werden. In dem sich öffnenden Fenster können im ersten Reiter die zu untersuchenden Dateien gewählt wären, bevor im zweiten Reiter die zu prüfenden CodeChecks gewählt werden. Für die einzelnen CodeChecks wird in dem Fenster auch eine kurze Beschreibung gezeigt. Das Ergebnis ist dabei entweder nach Codechecks gegliedert, oder nach Dateien.