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.

1 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.


2 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.


3 Information Browser

Im Information Browser werden Informationen zu dem zuletzt im Projekt/Entity Browser ausgew├Ąhltem Element angezeigt.


4 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.


5 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++ m├╝ssen unter File > New > Project den Projekt Wizard aufrufen. Dort kann ein 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.