Clean Code and Technical Debt · Clean Code Academy. 7. 8 Entwickler nach 1 Woche…. 9 Entwickler...

Preview:

Citation preview

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

https://sonarcloud.io/projects

27

Demo

All rights reserved

SonarLint

28

Demo

All rights reserved

“Clean Code ist die Abwesenheit von

technischer Schuld“ Michael Kaufmann

29

Recommended