code-quality.de
 @FrankS
Effektive Code Reviews
Moin moin!
Frank SonsFrank Sons  FrankS FrankS
http://code-quality.dehttp://code-quality.de
code-quality.de
 @FrankS
Agenda – Code Reviews
Teil 1: Methoden, Ziele und ProblemeTeil 1: Methoden, Ziele und Probleme
Teil 2: Rollen, Guidelines und ProzesseTeil 2: Rollen, Guidelines und Prozesse
code-quality.de
 @FrankS
Wichtig!
Stellt Fragen!Stellt Fragen!
Teilt eure Erfahrungen!Teilt eure Erfahrungen!
code-quality.de
 @FrankS
Teil 1: Methoden, Ziele und Probleme
Welche Methoden gibt es?Welche Methoden gibt es?
Was sind die Ziele?Was sind die Ziele?
Wo gibt es Probleme?Wo gibt es Probleme?
code-quality.de
 @FrankS
Wie macht ihr eure Code Reviews?
code-quality.de
 @FrankS
Ad hoc
code-quality.de
 @FrankS
Pair Programming
code-quality.de
 @FrankS
Review Tools - asynchron
code-quality.de
 @FrankS
Review Meeting
code-quality.de
 @FrankS
Team Review
code-quality.de
 @FrankS
Teil 1: Methoden, Ziele und Probleme
Welche Methoden gibt es?Welche Methoden gibt es?
Was sind die Ziele?Was sind die Ziele?
Wo gibt es Probleme?Wo gibt es Probleme?
code-quality.de
 @FrankS
Warum macht ihr eigentlich Code Reviews?
code-quality.de
 @FrankS
Motivation von Code Reviews
code-quality.de
 @FrankS
Was bringt es wirklich?
code-quality.de
 @FrankS
Teil 1: Methoden, Ziele und Probleme
Welche Methoden gibt es?Welche Methoden gibt es?
Was sind die Ziele?Was sind die Ziele?
Wo gibt es Probleme?Wo gibt es Probleme?
code-quality.de
 @FrankS
Kommt euch das bekannt vor?
Keine Struktur, keine ZieleKeine Struktur, keine Ziele
Klappt schon irgendwieKlappt schon irgendwie
Jeder für sich  Glückssache!Jeder für sich  Glückssache!
code-quality.de
 @FrankS
Was kann man machen?
Tatsächliche Ziele klar machenTatsächliche Ziele klar machen
Reviews im Prozess etablierenReviews im Prozess etablieren
Gemeinsames Qualitätsverständnis aufbauenGemeinsames Qualitätsverständnis aufbauen
code-quality.de
 @FrankS
Pause?
Oder Fragen?Oder Fragen?
code-quality.de
 @FrankS
Agenda – Code Reviews
Teil 1: Methoden, Ziele und ProblemeTeil 1: Methoden, Ziele und Probleme
Teil 2: Rollen, Guidelines und ProzesseTeil 2: Rollen, Guidelines und Prozesse
code-quality.de
 @FrankS
Fokus
Meetings und ToolsMeetings und Tools
code-quality.de
 @FrankS
Wie laufen eure Code Reviews ab?
code-quality.de
 @FrankS
Teil 2: Rollen, Guidelines und Prozesse
Welche Rollen gibt es?Welche Rollen gibt es?
Wonach schaut man eigentlich?Wonach schaut man eigentlich?
Wie bindet man es in die Prozesse ein?Wie bindet man es in die Prozesse ein?
code-quality.de
 @FrankS
Rollen im Review Meeting
AutorAutor
ReaderReader
ModeratorModerator
(Recorder)(Recorder)
code-quality.de
 @FrankS
Teil 2: Rollen, Guidelines und Prozesse
Welche Rollen gibt es?Welche Rollen gibt es?
Wonach schaut man eigentlich?Wonach schaut man eigentlich?
Wie bindet man es in die Prozesse ein?Wie bindet man es in die Prozesse ein?
code-quality.de
 @FrankS
Moderation ist wichtig!
Auf Annahmen achtenAuf Annahmen achten
Statt Schweigen: laut denken!Statt Schweigen: laut denken!
Diskussionen eingrenzenDiskussionen eingrenzen
code-quality.de
 @FrankS
Teil 2: Rollen, Guidelines und Prozesse
Welche Rollen gibt es?Welche Rollen gibt es?
Wonach schaut man eigentlich?Wonach schaut man eigentlich?
Und das läuft dann von alleine?Und das läuft dann von alleine?
code-quality.de
 @FrankS
Mit dem Meeting loslegen
Code gemeinsam aussuchenCode gemeinsam aussuchen
Regeln klar machenRegeln klar machen
Rollen verteilenRollen verteilen
code-quality.de
 @FrankS
Auf den Fokus achten
Code MetrikenCode Metriken
Code VerständnisCode Verständnis
code-quality.de
 @FrankS
Muss man den Code verstehen?
code-quality.de
 @FrankS
Lesbarkeit und Verständlichkeit
Nur wer den Code versteht,
kann auch die Probleme finden!
Nur wer den Code versteht,
kann auch die Probleme finden!
code-quality.de
 @FrankS
Ein kleiner, aber feiner Unterschied
Coding Style GuideCoding Style Guide
Coding GuidelineCoding Guideline
code-quality.de
 @FrankS
Was würde in euren Guidelines stehen?
code-quality.de
 @FrankS
Guidelines können als Checkliste dienen!
code-quality.de
 @FrankS
Prozesse: oder das drumherum...
Welche Rollen gibt es?Welche Rollen gibt es?
Wonach schaut man eigentlich?Wonach schaut man eigentlich?
Und das läuft dann von alleine?Und das läuft dann von alleine?
code-quality.de
 @FrankS
Achtung!
Prozesse bedeutet immer: YMMV!Prozesse bedeutet immer: YMMV!
code-quality.de
 @FrankS
Code Review Meetings im Prozess
Im letzten Drittel vom SprintIm letzten Drittel vom Sprint
90 - 120min90 - 120min
Immer wieder anpassenImmer wieder anpassen
code-quality.de
 @FrankS
Code Review Tools im Prozess
Extra Status für TasksExtra Status für Tasks
Automatische Systeme helfenAutomatische Systeme helfen
Guideline dient als ChecklisteGuideline dient als Checkliste
code-quality.de
 @FrankS
Macht mehr aus euren Reviews
„Peer code reviews are the single biggest
thing you can do to improve your code.“
„Peer code reviews are the single biggest
thing you can do to improve your code.“
Jeff Atwood – coding horror
code-quality.de
 @FrankS
Eure Fragen?

"Effektive Code Reviews" - Abendvortrag bei oose.de