Upload
gjero-krsteski
View
871
Download
0
Embed Size (px)
DESCRIPTION
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.
Citation preview
Statische Analyse
von PHP Projekten
Übersicht Themen
Was wird analysiert?Vorteile von AnalysewerkzeugeVorstellung AnalysewerkzeugeAnalyseergebnisse auswerten
Gjero Krsteski26.11.2010 2
Was wird analysiert?
Zusammensetzung verschiedener Softwarebestandteile Code Duplikate Zyklometrische KomplexitätPotentielle Fehler
Gjero Krsteski26.11.2010 3
Vorteile von Analysewerkzeuge
verarbeiten große Menge an Quelltext innerhalb kürzester Zeitkostengünstig, da beliebige Wiederholung möglichverbrauchen wenig Ressourcen
WichtigBewertung ist immer objektiv!Subjektive oder persönliche Faktoren spielen keine Rolle!
Gjero Krsteski26.11.2010 4
PEAR - phploc
Anzahl an Zeilen PHP Code Unterscheidet Kommentaren von richtigem CodeAnzahl InterfacesAnzahl KlassenAnzahl nichtstatische- und statische Methoden Anzahl FunktionenZyklometrische Komplexität
Gjero Krsteski26.11.2010 5
PEAR - phpcpd
Copy & Paste Detector für PHP Codeduplizierter Code
ist schwer zu wartenverletzt das OOP Paradigma
Gjero Krsteski26.11.2010 6
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 unterscheidenVerdacht =
weiß zu viel oder beschäftigt sich mit zu vielen Dingendoppelten Codeschlecht testbar
Gjero Krsteski26.11.2010 7
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.
Gjero Krsteski26.11.2010 8
Danke für die Aufmerksamkeit!
Gjero Krsteski Web-Programmierer, Berater, Trainer
Datum: 26.11.2010Homepage: krsteski.de
E-Mail: [email protected]