4. code-quality.de
@FrankS
Eine kleine Agenda
Eine Übersicht über Code ReviewsEine Übersicht über Code Reviews
Code Reviews effektiver machenCode Reviews effektiver machen
5. code-quality.de
@FrankS
Schauen wir uns mal die Grundlagen an
Zwei Wege für Code ReviewsZwei Wege für Code Reviews
Erwartungen und die RealitätErwartungen und die Realität
Ein verstecktes ProblemEin verstecktes Problem
8. code-quality.de
@FrankS
Die richtige Motivation ist wichtig
Zwei Wege für Code ReviewsZwei Wege für Code Reviews
Erwartungen und die RealitätErwartungen und die Realität
Ein verstecktes ProblemEin verstecktes Problem
11. code-quality.de
@FrankS
Es gibt da noch etwas...
Zwei Wege für Code ReviesZwei Wege für Code Revies
Erwartungen und die RealitätErwartungen und die Realität
Ein verstecktes ProblemEin verstecktes Problem
12. code-quality.de
@FrankS
Kommt das bekannt vor?
Unstrukturiert und ohne konkrete ZieleUnstrukturiert und ohne konkrete Ziele
Erfolg ist nicht nachvollziehbarErfolg ist nicht nachvollziehbar
Jeder hat seinen LieblingsreviewerJeder hat seinen Lieblingsreviewer
13. code-quality.de
@FrankS
Das Problem:
Ergebnisse basieren auf der Erfahrung,
Zeit(-druck) und Motivation des Reviewers.
Ergebnisse basieren auf der Erfahrung,
Zeit(-druck) und Motivation des Reviewers.
15. code-quality.de
@FrankS
Mal schauen, was wir tun können
Eine Übersicht über Code ReviewsEine Übersicht über Code Reviews
Code Reviews effektiver machenCode Reviews effektiver machen
16. code-quality.de
@FrankS
Vergessen wir die tools erst einmal
Gemeinsame Denkweise etablierenGemeinsame Denkweise etablieren
Den richtigen Fokus setzenDen richtigen Fokus setzen
Eine Checkliste verwendenEine Checkliste verwenden
18. code-quality.de
@FrankS
Es kommt Bewegung ins Team
Wissen im Team teilenWissen im Team teilen
Unstimmigkeiten und Missverständnisse aufdeckenUnstimmigkeiten und Missverständnisse aufdecken
Gemeinsames Verständnis von Qualität erzeugenGemeinsames Verständnis von Qualität erzeugen
19. code-quality.de
@FrankS
Das Ziel im Blick behalten
Gemeinsame Denkweise etablierenGemeinsame Denkweise etablieren
Den richtigen Fokus setzenDen richtigen Fokus setzen
Eine Checkliste verwendenEine Checkliste verwenden
20. code-quality.de
@FrankS
Was wird geprüft?
Metriken zur Code QualitätMetriken zur Code Qualität
Code Verbesserungen und VerständlichkeitCode Verbesserungen und Verständlichkeit
22. code-quality.de
@FrankS
Lesbar und verständlich
„Nur wenn man den Code versteht,
kann man auch die Fehler finden.“
„Nur wenn man den Code versteht,
kann man auch die Fehler finden.“
24. code-quality.de
@FrankS
Was gehört in eine Guideline?
Alles was man nicht automatisiert validieren kann!Alles was man nicht automatisiert validieren kann!
25. code-quality.de
@FrankS
Guidelines sind ein guter Anfang
Gemeinsame Denkweise etablierenGemeinsame Denkweise etablieren
Den richtigen Fokus setzenDen richtigen Fokus setzen
Eine Checkliste verwendenEine Checkliste verwenden
27. code-quality.de
@FrankS
Beim erstellen der Checkliste...
Jede Regel sollte so konkret wie möglich seinJede Regel sollte so konkret wie möglich sein
Beim erstellen das Team mit einbeziehenBeim erstellen das Team mit einbeziehen
Die Regeln immer mal wieder überprüfenDie Regeln immer mal wieder überprüfen
28. code-quality.de
@FrankS
Ein paar Beispiele:
Funktioniert der Code? Erfüllt er die
geplante Funktion? Ist die Logik korrekt?
Funktioniert der Code? Erfüllt er die
geplante Funktion? Ist die Logik korrekt?
Kategorie: Allgemein
29. code-quality.de
@FrankS
Ein paar Beispiele:
Gibt es überflüssigen oder doppelten Code?Gibt es überflüssigen oder doppelten Code?
Kategorie: Allgemein
30. code-quality.de
@FrankS
Ein paar Beispiele:
Gibt es (überflüssigen) auskommentierten Code?Gibt es (überflüssigen) auskommentierten Code?
Kategorie: Allgemein
31. code-quality.de
@FrankS
Ein paar Beispiele:
Werden alle Dateneingaben überprüft?
(z.B. Typ, Länge, Format, Wertebereich, etc.)
Werden alle Dateneingaben überprüft?
(z.B. Typ, Länge, Format, Wertebereich, etc.)
Kategorie: Sicherheit
32. code-quality.de
@FrankS
Ein paar Beispiele:
Werden invalide Parameterwerte abgehandelt?Werden invalide Parameterwerte abgehandelt?
Kategorie: Sicherheit
33. code-quality.de
@FrankS
Ein paar Beispiele:
Sind alle Sonderfälle, bzw.
spezielles Verhalten beschrieben?
Sind alle Sonderfälle, bzw.
spezielles Verhalten beschrieben?
Kategorie: Dokumentation
34. code-quality.de
@FrankS
Ein paar Beispiele:
Ist der Code testbar? Sprich: nicht zu viele
oder versteckte Abhängigkeiten.
Ist der Code testbar? Sprich: nicht zu viele
oder versteckte Abhängigkeiten.
Kategorie: Testing
35. code-quality.de
@FrankS
Ein paar Beispiele:
Testen die Unit Tests auch wirklich,
dass der Code die geplante Funktion erfüllt?
Testen die Unit Tests auch wirklich,
dass der Code die geplante Funktion erfüllt?
Kategorie: Testing
36. code-quality.de
@FrankS
...und einiges mehr!
Sprachspezifische EigenheitenSprachspezifische Eigenheiten
An euer Team und Projekt angepasstAn euer Team und Projekt angepasst
Nicht zu groß werden lassen!Nicht zu groß werden lassen!
38. code-quality.de
@FrankS
Also...
Schafft eine gemeinsames Verständnis für QualitätSchafft eine gemeinsames Verständnis für Qualität
Erstellt Guidelines und eine ChecklisteErstellt Guidelines und eine Checkliste
Code Reviews müssen Teil des Prozesses seinCode Reviews müssen Teil des Prozesses sein
39. code-quality.de
@FrankS
Macht Code Reviews – aber effektive!
„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 – @codinghorror