Code Reviews
Ziel dieses Artikels
Dieser Artikel beschreibt, wie
Code Reviews bei uns durchgeführt werden, welche Ziele sie haben und welche Kriterien dabei gelten.
⚠️ Dieser Prozess ist nicht final und kann sich jederzeit ändern oder weiterentwickeln.
Grundprinzipien
-
Code Reviews erfolgen pro Ticket, nicht gesammelt über mehrere Tickets hinweg
-
Reviews sollen schnell und effizient sein (typischerweise 3–10 Minuten)
-
Wenn Code deutlich länger braucht, um verstanden zu werden, ist das
bereitsein Hinweis auf ein Problem -
EsAusnahmengibtgeltenAusnahmenfür komplexe oder kritische Logik (z. B.komplexe Algorithmen oder kritische Logik), bei denen mehr Zeit notwendig istAlgorithmen)
Ziele von Code Reviews
Der Fokus liegt auf dem Gesamtbild, nicht auf kleinsten Details, sondern auf dem Gesamtbild:Detailoptimierungen:
-
Architektur
-
Systemdesign
-
Verständlichkeit
-
Qualitätssicherung auf hoher Ebene
Ein Code Review ist kein vollständiges Debugging oder Micro-Optimizing, sondern eine schnelle Validierung der Lösung.
Ablauf
Vorbereitung
Vor dem Erstellen eines Code Reviews
1. Vorbereitung durch den Autor
Bevor du einen Merge Request erstellst:Commits:
-
Stelle sicher,Sicherstellen, dassdeinder Code funktioniert -
Führe relevanteRelevante Testsausausführen -
HalteÄnderungendenklarScopeundmöglichstnachvollziehbarkleinhalten (ein Ticket=proein Review)Änderung) -
BeschreibeKurzklar:beschreiben:-
Was wurde
gemacht?geändert? -
Warum wurde es
gemacht?geändert?
-
2. Durchführung des ReviewsReview
DerIm ReviewerReview versuchtwird primär:vor allem geprüft:
-
Ist die Struktur des Codes
zu verstehenverständlich? -
dieIstIntentionnachzuvollziehen die Lösung im
KontextGesamtsystemdes Systems einzuordnensinnvoll?
Wichtiger als jedes Detail ist die Frage: „Ergibt das insgesamt Sinn?“
3. Bewertungskriterien
Diskussionen im Review solltenkonzentrieren sich vor allem auf folgende Aspekte konzentrieren:auf:
-
Sicherheit
→ Gibt es potenzielle Risiken oder Angriffsflächen? -
Robustheit
→ Ist der Code stabil gegenüber Fehlern und Edge Cases? -
Performance
→ Gibt es offensichtliche Ineffizienzen? -
Einfachheit
→ Ist die Lösung unnötig kompliziert?
4. Ergebnis
Ein Review kanngilt fehlschlagen,als wennnicht z.bestanden, B.:wenn:
-
der Code schwer verständlich ist
-
die Struktur unklar ist
-
zentraleDesignentscheidungen nicht nachvollziehbar sind
In diesem Fall solltesind der Code vereinfachtVereinfachung oder besserbessere dokumentiertStruktur werden.
Ausnahmen
Es gibt Fälle, in denen ein Review bewusst mehr Zeit benötigt:
komplexe Algorithmenkritische Business-Logiksicherheitsrelevante Komponenten
In diesen Fällen ist ein tieferes Verständnis ausdrücklich gewünscht.erforderlich.
Präventive Code Reviews
NebenBei klassischenUnsicherheiten Reviews nach der Implementierung sind auch präventive Code Reviews sinnvoll:
Wenn du dir bei einembezüglich Ansatz oder Design unsichersollte bist:
eingeholthole frühfrühzeitig Feedbackeinwerden, - bevor
Implementierungbespreche die Idee vormit derUmsetzungbegonnen
Das spart Zeit und verhindert unnötige Nacharbeit.
Beispiele
Schlechtes Beispiel
Große Änderung über mehrere Tickets hinwegKaum Beschreibung im Merge RequestVerschachtelter, schwer lesbarer CodeReviewer braucht 10+ Minuten zum Verstehen
→ Ergebnis: Review schlägt fehl
Gutes Beispiel
Klar abgegrenztes TicketVerständliche StrukturGute Benennung von Variablen und FunktionenKurze, klare Beschreibung im Merge Request
→ Review dauert wenige Minuten und kann schnell freigegeben werden
Grenzfall
Komplexer AlgorithmusReview dauert länger als 10 MinutenZusätzliche Erklärung oder Pair-Review notwendig
→ akzeptabel, wenn die Komplexität gerechtfertigt istwird.
Best Practices
Für Autoren
-
HalteCode einfach und verständlich halten -
Vermeide unnötigeUnnötige Komplexität vermeiden -
Erkläre nicht offensichtliche Entscheidungen SchneideÄnderungensauberklar pro Ticket trennen
Für Reviewer
-
Fokussiere dichFokus aufdasArchitekturgroßeundGanzeGesamtbild -
VermeideKeineMicromanagementDetaildiskussionen ohne Mehrwert -
StelleFeedbackFragenklarstattundAnnahmenbegründetzu treffen Gib klares, begründetes Feedbackformulieren
Fazit
Code Reviews sollen schnell, fokussiert und sinnvoll sein.Das Ziel ist nicht Perfektion im Detail, sondernsind ein solides,schneller, verständlichesfokussierter Prozess zur Sicherstellung von verständlichem und gut integriertesintegriertem Gesamtsystem.Code.
Gute Reviews verbessern nicht nur den Code, sondern auch das gemeinsame Verständnis im Team.