Mit einer statischen Code-Analyse versucht man Stellen in der Anwendung zu entdecken, die ein großes Risiko für zukünftige Änderungen darstellen können.
2. Übersicht Themen
Was wird analysiert?
Vorteile von Analysewerkzeuge
Vorstellung Analysewerkzeuge
Analyseergebnisse auswerten
26.11.2010 Gjero Krsteski 2
3. Was wird analysiert?
Zusammensetzung verschiedener
Softwarebestandteile
Code Duplikate
Zyklometrische Komplexität
Potentielle Fehler
26.11.2010 Gjero Krsteski 3
4. Vorteile von Analysewerkzeuge
verarbeiten große Menge an Quelltext innerhalb
kürzester Zeit
kostengünstig, da beliebige Wiederholung möglich
verbrauchen wenig Ressourcen
Wichtig
Bewertung ist immer objektiv!
Subjektive oder persönliche Faktoren spielen keine
Rolle!
26.11.2010 Gjero Krsteski 4
6. PEAR - phpcpd
Copy & Paste Detector für PHP Code
duplizierter Code
ist schwer zu warten
verletzt das OOP Paradigma
26.11.2010 Gjero Krsteski 6
7. Custom line-counter
angepasstes UNIX-Kommando
Anzahl Zeilen einer PHP-Datei
Was haben wir davon?
Klassen aufzuspüren die sich deutlich von den
anderen Klassen unterscheiden
Verdacht =
weiß zu viel oder beschäftigt sich mit zu vielen Dingen
doppelten Code
schlecht testbar
26.11.2010 Gjero Krsteski 7
8. PEAR - pdepend
Analysiert die OOP Architektur
Ausgewogenheit = Instabilität + Abstraktion
Instabil = Wert bei 1, eingehende Abhängigkeit.
Stabil = Wert bei 0, ausgehende Abhängigkeit.
Abstraktion > 0 = konkrete Methoden und Klassen.
Abstraktion > 1 = abstrakte Methoden und Klassen.
26.11.2010 Gjero Krsteski 8