Code Reviews sind heutzutage viel mehr als nur ein Prozess zur Überprüfung des Quellcode eines Programms. Code Reviews sollten ein integraler Bestandteil der agilen Softwareentwicklung sein. Dieser Artikel konzentriert sich darauf, wie gute, sinnvolle und konstruktive Code Reviews durchzuführen sind.
Das Hauptziel von Code Reviews sollte in erster Linie sein, die Qualität des Produkts erhöhen und die Zusammenarbeit innerhalb eines Entwicklungsteams zu verbessern. Jede Überprüfung sollte als Lernmöglichkeit für die überprüfenden Person als auch für den Autor angesehen werden.
Ein Review besteht aus drei Phasen: Die Vorbereitung, der eigentliche Review und die Nachbearbeitung. Es sind zwei Partien beteiligt, der Autor und der Reviewer.
Verhaltensregeln
Vor einer Überprüfung, für den Autor
Folgende Schritte dienen dazu den Code für den Review vorzubereiten. Sie zielen darauf ab, den Prozess zu verkürzen und bereits einige Punkte im Vorfeld abzufangen.
- Eigenen Code überprüfen, die Hälfte aller Fehler findet man selber.
- Proaktiv um einen Review bitten
- Personen, die mit dem Code erfahren sind, den Code von denjenigen überprüfen lassen, die damit weniger vertraut sind. Die Effektivität hängt weitgehend von Erfahrung und Vertrautheit ab.
- Verwendung von zwei Reviewern. Das ist die effektivste Anzahl für grössere oder komplexe Änderungen.
- Checkliste mit Dingen, die überprüft werden müssen bereitstellen
Während dem Review, für den Reviewer
Diese Tipps zielen darauf ab, die Qualität des Reviews und insbesondere seine Ergebnisse zu optimieren. Beim Review sollten auch Grenzfälle abgedeckt werden, die Dokumentation überprüft wird und verschiedene Ansätze überprüft werden.
- Code alleine und in Ruhe überprüfen.
- Das Prüfen von Code in einer Besprechung ist ineffektiv und ein Zeitfresser.
- Review in zwei Durchgängen durchführen, einen zum Bereinigen, einen zweiten für die Korrektheit.
- Fokus auf Korrektheit und Wartbarkeit, nicht auf Formatierung und Stil.
- Nicht vergessen, Annahmen, die der Entwickler gemacht hat, zu hinterfragen
- Randfälle, wie unerwartete Eingaben, NULL, MAX_INT, etc. prüfen und versuchen den Code zum Scheitern zu bringen
- Bedingungen überprüfen, bei denen sich der Code nicht mehr korrekt verhalten würde (zu viele Daten laden, zu viele Benutzer, etc.).
- Nach Abkürzungen suchen, die nicht hätten genommen werden sollen
- Sachliche Kommentare zu Codezeilen machen
- Liste von Problemen zusammenstellen
Nach dem Review, für Autor und Reviewer
Die zwei nachfolgenden Punkte behandeln die Nachbearbeitung.
- Review, wenn nötig oder hilfreich durchgehen
- Code Review sind für beide Parteien eine Lernmöglichkeit
Schlussgedanken
Moderne und agile Entwicklungsteams haben begonnen Code Reviews ausgiebig zu nutzen, um qualitativ hochwertigere digitale Lösungen auf Basis gut strukturierter Codebasis zu liefern.
Zudem sind Code Reviews ein perfektes Instrument, um Feedback zur Arbeit zu erhalten, indem Wissen geteilt und wertvolles Feedback innerhalb und sogar über Projektteams hinweg weitergegeben wird bzw. erhalten bleibt.
Davon abgesehen ist es egal, ob wir einen Pull Request am Ende des Tages annehmen, ablehnen oder nur kommentieren, solange dieses Feedback vernünftig, objektiv und konstruktiv ist, können alle davon profitieren.