1. Erfahrungsbericht: Datenbankbasierte Metrikverarbeitung fr
Clean Code Development in Brownfieldprojekten Software Engineering
& Management 2015
2. Jens Nerche Leiter Anwendungsentwicklung Kontext E GmbH
www.kontext-e.de Email [email protected] Twitter @jensnerche
Blog http://techblog.kontext-e.de
3. Inhalt Motivation Herausforderung Brownfield Verarbeitung
von Metriken Datenbank
4. Steadily adding value
5. Well-crafted software
6. Realitt im Brownfieldprojekt
7. Workarounds
8. Ziele Grere Kontrolle Einheitliche Art der Regelprfung
Automatisierung der Regelprfung vorantreiben Verknpfung der Daten
aus verschiedenen Quellen Bessere Planung der Investitionen in
Codequalitt
9. Eine Lsung Alle Informationen in eine Datenbank Dazu
Architektur-Struktur Metriken kombinieren Regelverletzungen mittels
DB-Abfrage finden IDE-Plugin
10. MATCH (p1:Package)-[:DEPENDS_ON]->(p2:Package), path =
shortestPath( (p2)-[:DEPENDS_ON*]->(p1:Package)) WHERE p1p2
RETURN p1 AS package, EXTRACT(p IN NODES(path) | p.fqn) AS cycle
ORDER BY package.fqn; Zyklenfreiheit
11. MATCH (c:Class)-[:DEPENDS_ON]->(d:Type {fqn:
'org.jmock.Mockery'}) WHERE not(c.fqn =~
'de.kontext_e.tim.EmployeeTest') and not(c.fqn =~
'de.kontext_e.tim.ProjectTest.*') RETURN c.fqn ORDER BY c.fqn;
jMock => Mockito