statische Verfahren heißt…. Programmcode…..
… wird nicht ausgeführt
3 Reviewtechniken
Stellungnahmee
Walkthrought
Inspektion
Rollen im Review
Autor
Moderator
Gutachter
Protokollführer
Allgemeiner Ablauf eines Reviews
Planung
Vorbesprechung
Individuelle Vorbereitung der Gutachter
Reviewsitzung
Nachbereitung
Bewertung (follow-up)
Die Stellungnahme
einfachste und schnellste Technik
Informell
Beispielsweise durch Kollegen
Mehrere Gutachter
Mängel werden diskutiert
keine formalen Kriterien
Moderator kann durch Autor übernommen werden
Formeller Review
oft mehrere Gutachter
festgelegter Ablauf
Durchführung und Ergebnisse werden protokolliert
Moderator und Protokollant pflicht
Feedbackburger
Lob
Kritik
Feedback wird mit positivem Eindruck begonnen, dann folgen Kritikpunkte und abschließen tut es wieder mit etwas positivem.
Ziel vom Einsatz von Metriken
Qualitätskontrolle und Verbesserung von Ergebnissen und Prozessen
Beispiel für Metriken:
Lines of Code
oder komplexere wo sich der Wert aus mehreren Messwerten zusammensetzt
Halstead-Metriken Zweck
Bestimmung der Komplexität von Softwarekomponenten
Mögliche Halstead-Metriken
Anzahl Operatoren
Anzahl Operanden
Länge Implementierung
Fan-In-Metrik:
Anzahl der Funktionen die außerhalb der Komponente liegt, die die Funktionen der betrachteten Komponente aufruft:
[ooo] -> [KOMPONENTE]
Fan-out-Metrik:
Anzahl der Funktionen, die von der betrachteten Komponente auf andere Komponenten zugreift
[KOMPONENTE] -> [ooo]
Beispielmetriken für objektorientierte Systeme
Grad von Vererbungsbäumen
Tiefe einer Klasse (DIT)
Anzahl dirkter Unterklassen (NOC)
Kopplung zwischen Objekten (CBO)
Vorteile von Metriken
leicht zu ermitteln
einfaches Mittel für vielfälte Eigenschaften eines Artefakts
Nachteile Metriken
können nur bei messbaren Eigenschaften angewandt werden
Sagt wenig über den Erfolg von einem System aus
Wenn in Zielvereinbarung eingenommen: Gefahr, dass nach Metriken gecodet wird - Bsp. Programmcode gestreckt mit Kommentaren o.ä.
statische Codeanalyse…..
… wertet den Code inhaltlich aus und analysiert ihn
Automatische Stilanalyse mit Checkstlye
Prüft Einhaltung von Programmierkonventionen
Zum Beispiel:
Namenskonventionen
Klassen
Attribute
Methoden und Variablen
Quelltextanalyse mit PMD
Analysiert den Quellcode von Programmen
Primär für die Suche nach Fehlerquellen
Bugs durch leere Try- Catch Blöcke
ungenutzte Variablen
unnötige IF-Statements
Copy-Paste Dublikate
Bytecode-Analyse mit Spotbugs
Analyse von Java-ByteCode
Programm muss sich komplilieren lassen zur Analyse.
3 Fehlermuster:
bad practice
correctness
dodgy code (schlechter Code)
Zuletzt geändertvor 14 Tagen