Date post: | 13-Jan-2017 |
Category: |
Technology |
Upload: | frank-sons |
View: | 132 times |
Download: | 3 times |
code-quality.de @FrankS
Eine kleine Agenda
Eine Übersicht über Code ReviewsEine Übersicht über Code Reviews
Code Reviews effektiver machenCode Reviews effektiver machen
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
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
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
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
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.
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
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
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
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
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
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.“
code-quality.de @FrankS
Ein kleiner, aber wichtiger Unterschied
Coding Style GuideCoding Style Guide
Coding GuidelineCoding Guideline
code-quality.de @FrankS
Was gehört in eine Guideline?
Alles was man nicht automatisiert validieren kann!Alles was man nicht automatisiert validieren kann!
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
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
code-quality.de @FrankS
Ein paar Beispiele:
Funktioniert der Code? Erfüllt er diegeplante Funktion? Ist die Logik korrekt?
Funktioniert der Code? Erfüllt er diegeplante Funktion? Ist die Logik korrekt?
Kategorie: Allgemein
code-quality.de @FrankS
Ein paar Beispiele:
Gibt es überflüssigen oder doppelten Code?Gibt es überflüssigen oder doppelten Code?
Kategorie: Allgemein
code-quality.de @FrankS
Ein paar Beispiele:
Gibt es (überflüssigen) auskommentierten Code?Gibt es (überflüssigen) auskommentierten Code?
Kategorie: Allgemein
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
code-quality.de @FrankS
Ein paar Beispiele:
Werden invalide Parameterwerte abgehandelt?Werden invalide Parameterwerte abgehandelt?
Kategorie: Sicherheit
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
code-quality.de @FrankS
Ein paar Beispiele:
Ist der Code testbar? Sprich: nicht zu vieleoder versteckte Abhängigkeiten.
Ist der Code testbar? Sprich: nicht zu vieleoder versteckte Abhängigkeiten.
Kategorie: Testing
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
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!
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
code-quality.de @FrankS
Macht Code Reviews – aber effektive!
„Peer code reviews are the single biggestthing you can do to improve your code.“„Peer code reviews are the single biggestthing you can do to improve your code.“
Jeff Atwood – @codinghorror