Code-Review: Was wird dabei geprüft?
Ein Review ist keine Geschmacksprüfung und kein Ritual. Es ist der zweite Blick auf eine Änderung, bevor sie in Betrieb geht — und es hat eine klare Aufgabenliste.
Das lernen Sie
Die Prüfliste, in dieser Reihenfolge
Die Reihenfolge ist nicht beliebig. Ein Review, das bei Punkt sechs beginnt und die Punkte eins bis drei nie erreicht, hat die teure Zeit auf die billigen Fragen verwendet.
Jeder Befund braucht ein Fehlerszenario
Das ist die Regel, die ein Review nützlich hält: Wer etwas beanstandet, nennt eine konkrete Eingabe und das konkrete falsche Verhalten, das daraus folgt — oder eine benannte Regel, gegen die verstoßen wird.
„Das würde ich anders machen" ist kein Befund. „Bei einer Menge von 0 rechnet diese Zeile durch Null, und die Oberfläche zeigt dann eine leere Seite statt einer Meldung" ist einer. Der Unterschied entscheidet, ob ein Review Fehler findet oder Diskussionen erzeugt.
Daraus folgt auch: Ein Review ohne Befunde ist das erwartete Normalergebnis, kein Zeichen von Nachlässigkeit. Wer in jedem Review etwas finden muss, findet irgendwann Geschmacksfragen.
Ein Beispiel aus der Praxis
Ein Befund, der eine Auslieferung verhindert hat
Eine Änderung sollte eine Liste um einen Filter erweitern. Im Review fiel auf, dass der Filter die Rechteprüfung umging: Wer die Adresse mit einem bestimmten Parameter aufrief, sah Vorgänge anderer Abteilungen. In der Oberfläche war das nicht erreichbar, über die Adresszeile schon.
Der Befund war in zwei Sätzen beschrieben, mit der genauen Adresse und dem Ergebnis. Die Korrektur dauerte zwanzig Minuten. Ohne den zweiten Blick wäre sie nach dem ersten Vorfall erfolgt — unter anderen Vorzeichen.
Was ein Review nicht leisten kann
Deshalb gilt bei uns: eine Änderung pro Thema, prüfbar in einem Durchgang. Wer drei Themen in eine Änderung packt, bekommt ein Review über das erste.
Häufige Missverständnisse
Über den Autor
Fabian Lücker ist geschäftsführender Gesellschafter der PHP-Schmiede KG in Rheine und seit 2007 in der Softwareentwicklung tätig. Er verantwortet Entwicklung und Konzeption und schreibt hier über Entscheidungen, die in echten Projekten anfallen.