clean code and technical debt · clean code academy. 7. 8 entwickler nach 1 woche…. 9 entwickler...
TRANSCRIPT
Clean Code and Technical DebtMichael Kaufmann | MVP | Senior Manager
The
„THE NEXT BIG BLUE-COLLAR JOB IS CODING“
https://www.wired.com/2017/02/programming-is-the-new-blue-collar-job/
Programmierst du noch – oder experimentierst
du schon?
1
2
3
4
Michael Kaufmann Head of Development
Blog: http://writeabout.netTwitter: @mike_kaufmann
All rights reserved 5
Was ist Clean Code?
All rights reserved 6
Clean Code Academy
7
8Entwickler nach 1 Woche….
9Entwickler nach 1 Monat….
10Entwickler nach 1 Jahr….
11Entwickler nach 3 Jahren….
12Entwickler nach 6 Jahren….
13Entwickler nach 12 Jahren….
14
Entwickler nach 1 Woche…. Entwickler nach 1 Monat…. Entwickler nach 1 Jahr….
Entwickler nach 3 Jahren…. Entwickler nach 6 Jahren…. Entwickler nach 12 Jahren….
15
“Clean Code istTeamsport!”
All rights reserved 16
Was ist „Technical Debt“?
17
All rights reserved 18
Umgang mit technischer Schuld
19
All rights reserved
Definieren
Messen
Kontrollieren
Verbessern
• Management Kreislauf
Umgang mit technischer Schuld
20
Management von Technical Debt
Definieren
MessenKontrollieren
Verbessern
All rights reserved 21
Umgang mit technischer Schuld
Definieren
• Code
• Design
• Dokumentation
• Test
Messen
• Code Analysis
• Test Coverage
• Dokumentation
„Basline“
• Keine neue Schuld
• Kontinuierliche Überwachung über KPI
Verbesserung
• KPI erhöhen
• Kontinuierliche Verbesserung
All rights reserved 22
Umgang mit technischer Schuld
Definieren
• Code
• Design
• Dokumentation
• Test
Messen
• Code Analysis
• Test Coverage
• Dokumentation
„Basline“
• Keine neue Schuld
• Kontinuierliche Überwachung über KPI
Verbesserung
• KPI erhöhen
• Kontinuierliche Verbesserung
Code / Design: Continuous Integration / Delivery
All rights reserved 23
Umgang mit technischer Schuld
Definieren
• Code
• Design
• Dokumentation
• Test
Messen
• Code Analysis
• Test Coverage
• Dokumentation
„Basline“
• Keine neue Schuld
• Kontinuierliche Überwachung über KPI
Verbesserung
• KPI erhöhen
• Kontinuierliche Verbesserung
Code / Design: Metriken • LoC• Cyclomatic Complexity• Depth of Inheritance• Class Coupling
All rights reserved 24
Umgang mit technischer Schuld
Definieren
• Code
• Design
• Dokumentation
• Test
Messen
• Code Analysis
• Test Coverage
• Dokumentation
„Basline“
• Keine neue Schuld
• Kontinuierliche Überwachung über KPI
Verbesserung
• KPI erhöhen
• Kontinuierliche Verbesserung
Code / Design: Statische Codeanalyse• Roslyn• Resharper• SonarQube
All rights reserved 25
Umgang mit technischer Schuld
Definieren
• Code
• Design
• Dokumentation
• Test
Messen
• Code Analysis
• Test Coverage
• Dokumentation
„Basline“
• Keine neue Schuld
• Kontinuierliche Überwachung über KPI
Verbesserung
• KPI erhöhen
• Kontinuierliche Verbesserung
Dokumentation:• So viel wie nötig, so wenig wie möglich• Automatisierung
All rights reserved 26
Umgang mit technischer Schuld
Definieren
• Code
• Design
• Dokumentation
• Test
Messen
• Code Analysis
• Test Coverage
• Dokumentation
„Basline“
• Keine neue Schuld
• Kontinuierliche Überwachung über KPI
Verbesserung
• KPI erhöhen
• Kontinuierliche Verbesserung
Test:Code Coverage• Unit Tests• Integration Tests• System Tests
All rights reserved
SonarLint
28
Demo
All rights reserved
“Clean Code ist die Abwesenheit von
technischer Schuld“ Michael Kaufmann
29