Effektiver Einsatz von Code-Reviews Version: 1.4 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de 18. Java Forum Stuttgart 2015
Ihr Sprecher Thorsten Maier Trainer, Berater, Entwickler Schwerpunkte Menschen Prozesse Architektur Code-Qualität 2015 Orientation in Objects GmbH Effektiver Einsatz von Code-Reviews 2
Agenda Einsteiger Code-Reviews? Noch nie gehört! Skeptiker Wir haben es ausprobiert. Es funktioniert nicht! Profis Wir setzen Code-Reviews bereits erfolgreich ein und wollen noch besser werden. 2015 Orientation in Objects GmbH Effektiver Einsatz von Code-Reviews 3
Agenda Einsteiger Skeptiker Profis Warum Code- Reviews? Do it! Die richtigen Tools 2015 Orientation in Objects GmbH Effektiver Einsatz von Code-Reviews 4
Kennen Sie das? Das ist historisch gewachsen. 5
Oder das? Das wollten wir schon lange refactoren. 6
noch ein Klassiker Thomas ist leider gerade im Urlaub 7
Es bleibt nie Zeit für das große Refactoring Code-Reviews als kontinuierliche Lösung 8
Bugs finden 9
Wissen 10
11
Zeugnis 1+ Anerkennung 12
Entwicklungskosten in % 120 100 15 80 60 40 100 105 Code-Review Entwicklung 20 0 ohne Code-Review mit Code-Review 13
Wissen Bugfixing Code-Review Entwicklung ohne Code-Review mit Code-Review 14
Code-Reviews für alle? Projekt oder Produkt 15
Agenda Einsteiger Skeptiker Profis Warum Code- Reviews? Do it! Die richtigen Tools 2015 Orientation in Objects GmbH Effektiver Einsatz von Code-Reviews 16
Wann? Code- Review Code- Review feature-x feature-z Nach jedem Feature / Bugfix 17
Wer? Klickt Einstiegspunkte Hinweise Prüft Hinterfragt Erläuterungen Reviewer Code-Autor 18
Jeder mit jedem! 19
Wir wollen unsere Anwendung gemeinsam besser machen 20
Was war der Grund für dein hier gewähltes Vorgehen? Das ist falsch 21
200 400 Zeilen Gefundene Fehler 1 2 Stunden Dauer des Reviews http://support.smartbear.com/resources/cc/book/code-review-cisco-case-study.pdf 22
23
24
Sinnvolle Namen? Klare Struktur? Korrekte Verwendung von Datentypen? Kommentare? Code smells? Tests vorhanden? Wohldefinierte Schnittstellen? Exception-Handling? I18N? Typische Programmier-Fehler? 25
Agenda Einsteiger Skeptiker Profis Warum Code- Reviews? Do it! Die richtigen Tools 2015 Orientation in Objects GmbH Effektiver Einsatz von Code-Reviews 26
27
28
29
30
31
32
Controller ServiceImpl 33
Controller ServiceImpl DaoImpl https://github.com/thorstenmaier/architecture-layer-check/ 34
35
(Service) - [DEPENDS_ON] -> (Controller) 36
MATCH (s:service)-[:depends_on]->(c:controller) return s,c 37
38
39
Git Issue-Tracker Jira 2. Build erfolgreich CI-Server Bamboo 1. Änderung 3a. Pull-Request 3b. Autor Repo-Verwaltung Stash 4a. Status-Übergang 4b. Pull 40
Fazit Einsteiger Wissen Skeptiker Profis Be prepared KISS 2015 Orientation in Objects GmbH Effektiver Einsatz von Code-Reviews 41
??? Fragen??? Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de 42
Vielen Dank für ihre Aufmerksamkeit! Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de