Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Grundlagen der Programmierung: Codemetriken

SonarQube

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
SonarQube gilt als der Platzhirsch unter den Analysewerkzeugen. Das Tool hilft vor allem bei der kontinuierlichen Qualitätsbetrachtung.
03:53

Transkript

Beschäftigt man sich mit der Analyse von Code-Qualität, wird man früher oder später immer über SonarQube stolpern. SonarQube ist quasi der Standard der Tools zur Analyse von Code-Qualität, da es sehr umfangreich ist. Es ist kostenlos und kann sowohl in der Cloud als auch auf der eigenen Build-Umgebung betrieben werden. SonarQube nutzt im Hintergrund diverse Analyseregeln und wertet nach einem Bild oder während eines Bildprozesses statisch diese Regeln gegen die vorhandene Code-Basis aus. Hier sehen wir bei JUnit beispielsweise, dass man eher den Double-Konstruktor entfernen sollte, was auch immer das gerade bedeutet. Also, hier wird je Klasse aufgezeigt, was alles nicht so gut funktioniert. Das Ganze wird zusammengerechnet und wird dann noch einmal bewertet. Dabei werden verschiedene Bereiche bewertet, so zum Beispiel Reliability, also die Verlässlichkeit meiner Code-Basis. Security, die Sicherheit: Also könnte zum Beispiel SQL-Injection ausgenutzt werden oder Buffer-Oberflows? Maintainability: Also wie gut können wir das Ganze warten? Dann die Test-Coverage, Code-Coverage, die ist bei einem Testing-Framework mit 85,6 ziemlich gut und Duplications, also die Anzahl von Duplikaten, die man hat, dann noch grob eine Übersicht, also wieviel Zeilen Code hat das Ganze, wieviele Klassen und so weiter und so fort. Das Ganze wird dann auch noch einmal zusammengerechnet und hier sehen wir auch noch einmal die Einschätzung, die wir vorhin auch schon bei Measures hatten. Und zwar sind das Schulnoten, die aussagen, wie gut ist das Ganze. Die Bugs hierbei sind keine Bugs im Sinne von "Funktionalität ist nicht vorhanden", sondern es sind tatsächlich schwerwiegende Fehler bei der Nutzung von Framework-Features oder Technologie-Features. Da müsste man natürlich ein wenig aufpassen. Die Vulnerabilities sind nicht ganz so schön, da muss man ebenfalls achten. Und hier haben wir auch noch eine sehr beliebte Übersicht und zwar die Technical Debt. Hier werden all die Fehler, die so auftreten, zusammengerechnet. Es wird betrachtet, wieviele neue Fehler kommen hinzu, wie lange hat es gedauert, Fehler zu beseitigen und so weiter und so fort, wie hoch ist der Schweregrad. Und dann wird anhand von statistischen Verfahren geschätzt, wie lange dauert es, diese Fehler zu beseitigen. Und da ist JUnit mit 12 Tagen ziemlich gut. Also, eine Person müsste sich eigentlich 12 Tage hinsetzen und all diese Dinge beseitigen. Das ist also nicht allzu teuer. Hier haben wir nochmal die Code-Coverage und so weiter und so fort. Man sieht schon, was ich vorhin damit meinte, SonarQube ist sehr umfangreich. Das Einzige, was mir an SonarQube nicht so gut gefällt, ist, neue Regeln kann man nur über Java-Programmierung hinterlegen. Es ist also nicht ganz so einfach zu konfigurieren. Wenn man es in seine Build-Umgebung einbauen möchte, dann ist es auch etwas schwieriger zu verwenden als beispielsweise NDepend. In der Praxis ist es so, dass ich lieber die XDepend-Werkzeuge nutze, wenn ich neu zu einer Applikation hinzukomme, also wenn ich neuere Applikationen analysiere beziehungsweise für mich neue Applikationen, um mir darüber einen Überblick zu verschaffen und um für mich selbst als Architekt die Übersicht da drüber zu behalten, was letztendlich im Team gemacht wurde. Und SonarQube habe ich als etwas Gutes kennengelernt, um im gesamten Team einen Überblick über die Qualität und die Entwicklung zu erhalten, weil man kann hier auch wunderbar im Team sehen, wie sich beispielsweise Refactorings ausgewirkt haben. Ist alles besser geworden oder eher doch nicht?

Grundlagen der Programmierung: Codemetriken

Lernen Sie Methoden, Prinzipien und Werkzeuge kennen, mit deren Hilfe Sie die Qualität Ihrer Software dauerhaft sicherstellen können.

1 Std. 43 min (20 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:25.04.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!