Best Practices
Code Review
Robin Sedlaczek
 Fairmas GmbH, Berlin 2013 2
Code Review Best Practices
Sensibilisierung
Maßnahmen/Vorgehen
Ziele
 Fairmas GmbH, Berlin 2013 3
Code Review Best Practices
Review-Technik
Was ist ein Code Review?
Analytische Qualitätssicherungsmaßnahme
Methode agiler Prozesse
Forschungsgegenstand
 Fairmas GmbH, Berlin 2013 4
Code Review Best Practices
Finden von Bugs
Warum Code Reviews?
Verbesserung der Code Qualität
Reduktion von Kosten
Lerneffekt + Teambildung
 Fairmas GmbH, Berlin 2013 5
Code Review Best Practices
Inspektionsrate
Wie schnell können wir Code reviewen (kLOC/h)?
Begriffe
Defektrate
Wie schnell können wir Fehler/Bugs finden (Anzahl/h)?
Defektdichte
Wie viele Fehler finden wir in einer bestimmten Menge Code (Anzahl/kLOC)?
 Fairmas GmbH, Berlin 2013 6
Code Review Best Practices
Nicht mehr als 200-400 LOC
Nicht länger als 60-90 Minuten
Best Practice #1
Quelle: http://smartbear.com/SmartBear/media/pdfs/WP-
CC-11-Best-Practices-of-Peer-Code-Review.pdf
 Fairmas GmbH, Berlin 2013 7
Code Review Best Practices
Geht langsam vor!
Qualität vor Quantität.
Best Practice #2
 Fairmas GmbH, Berlin 2013 8
Code Review Best Practices
Bereitet Euch vor!
Wählt vor dem Review Code aus, über den
Ihr reden möchtet und schaut Euch diesen
im Vorfeld an!
Best Practice #3
 Fairmas GmbH, Berlin 2013 9
Code Review Best Practices
Best Practice #4
Autorenvorbereitung!
Autor macht Notizen zum
ausgewählten Code.
Quelle: http://smartbear.com/SmartBear/media/pdfs/WP-
CC-11-Best-Practices-of-Peer-Code-Review.pdf
 Fairmas GmbH, Berlin 2013 10
Code Review Best Practices
Protokolliert Ergebnisse!
Notiert die gefundenen Probleme, um
daraus Aufgaben/Tickets abzuleiten.
Best Practice #5
 Fairmas GmbH, Berlin 2013 11
Code Review Best Practices
Macht Ergebnisse Messbar!
Z.B. Defektdichte. Protokolliert am Ende des
Reviews, wie viele Probleme Ihr gefunden
habt. Setzt Ziele für das nächste Meeting.
Best Practice #6
 Fairmas GmbH, Berlin 2013 12
Code Review Best Practices
Review des Reviews!
Prüft und notiert, wie viele Probleme aus
dem letzten Code Review beseitigt wurden.
Best Practice #7
 Fairmas GmbH, Berlin 2013 13
Code Review Best Practices
Erstellt eine Checkliste!
An Hand einer Checkliste können Themenbereiche
strukturiert abgearbeitet werden. Nutzt die
Checkliste als Protokoll (siehe #5).
Best Practice #8
 Fairmas GmbH, Berlin 2013 14
Code Review Best Practices
Defekte sind cool!
Gebt Euch gegenseitig das Gefühl, dass niemand
angegriffen wird! Im Gegenteil: gefundene Probleme
bedeuten, dass Ihr als Team großartig
zusammenarbeitet.
Best Practice #9

Code Reviews - Best Practices

  • 1.
  • 2.
     Fairmas GmbH,Berlin 2013 2 Code Review Best Practices Sensibilisierung Maßnahmen/Vorgehen Ziele
  • 3.
     Fairmas GmbH,Berlin 2013 3 Code Review Best Practices Review-Technik Was ist ein Code Review? Analytische Qualitätssicherungsmaßnahme Methode agiler Prozesse Forschungsgegenstand
  • 4.
     Fairmas GmbH,Berlin 2013 4 Code Review Best Practices Finden von Bugs Warum Code Reviews? Verbesserung der Code Qualität Reduktion von Kosten Lerneffekt + Teambildung
  • 5.
     Fairmas GmbH,Berlin 2013 5 Code Review Best Practices Inspektionsrate Wie schnell können wir Code reviewen (kLOC/h)? Begriffe Defektrate Wie schnell können wir Fehler/Bugs finden (Anzahl/h)? Defektdichte Wie viele Fehler finden wir in einer bestimmten Menge Code (Anzahl/kLOC)?
  • 6.
     Fairmas GmbH,Berlin 2013 6 Code Review Best Practices Nicht mehr als 200-400 LOC Nicht länger als 60-90 Minuten Best Practice #1 Quelle: http://smartbear.com/SmartBear/media/pdfs/WP- CC-11-Best-Practices-of-Peer-Code-Review.pdf
  • 7.
     Fairmas GmbH,Berlin 2013 7 Code Review Best Practices Geht langsam vor! Qualität vor Quantität. Best Practice #2
  • 8.
     Fairmas GmbH,Berlin 2013 8 Code Review Best Practices Bereitet Euch vor! Wählt vor dem Review Code aus, über den Ihr reden möchtet und schaut Euch diesen im Vorfeld an! Best Practice #3
  • 9.
     Fairmas GmbH,Berlin 2013 9 Code Review Best Practices Best Practice #4 Autorenvorbereitung! Autor macht Notizen zum ausgewählten Code. Quelle: http://smartbear.com/SmartBear/media/pdfs/WP- CC-11-Best-Practices-of-Peer-Code-Review.pdf
  • 10.
     Fairmas GmbH,Berlin 2013 10 Code Review Best Practices Protokolliert Ergebnisse! Notiert die gefundenen Probleme, um daraus Aufgaben/Tickets abzuleiten. Best Practice #5
  • 11.
     Fairmas GmbH,Berlin 2013 11 Code Review Best Practices Macht Ergebnisse Messbar! Z.B. Defektdichte. Protokolliert am Ende des Reviews, wie viele Probleme Ihr gefunden habt. Setzt Ziele für das nächste Meeting. Best Practice #6
  • 12.
     Fairmas GmbH,Berlin 2013 12 Code Review Best Practices Review des Reviews! Prüft und notiert, wie viele Probleme aus dem letzten Code Review beseitigt wurden. Best Practice #7
  • 13.
     Fairmas GmbH,Berlin 2013 13 Code Review Best Practices Erstellt eine Checkliste! An Hand einer Checkliste können Themenbereiche strukturiert abgearbeitet werden. Nutzt die Checkliste als Protokoll (siehe #5). Best Practice #8
  • 14.
     Fairmas GmbH,Berlin 2013 14 Code Review Best Practices Defekte sind cool! Gebt Euch gegenseitig das Gefühl, dass niemand angegriffen wird! Im Gegenteil: gefundene Probleme bedeuten, dass Ihr als Team großartig zusammenarbeitet. Best Practice #9

Hinweis der Redaktion

  • #4 Statische Analysemethode Schreibtischtest Architektur-Review Inspektion Walkthrough XP + Pair Programming Sehr viele Studien (Cisco – 2000 Reviews mit 50 Entwickler)
  • #5 Reduktion der zu erwartenden Fehler um 20% bis 50% Architektur/Design Reviews zwischen 30% und 60% Erhöhung der Wartbarkeit
  • #6 Reduktion der zu erwartenden Fehler um 20% bis 50% Architektur/Design Reviews zwischen 30% und 60% Erhöhung der Wartbarkeit
  • #7 7 von 10 Fehlern können gefunden werden
  • #9 Während des Reviews nicht erst Code lesen
  • #10 separates Dokument Kommentare leiten durch Code und Review Gründe und Methoden hinter dem Code Anderer Effekt: weniger Bugs im Vorfeld
  • #14 Code Conventions/Guidelines? Code Documentation? Invalide Werte für Parameter? Unit Tests? Dann kann gemessen werden, ob die Reviews etwas bewirken.