Skip to main content

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 bereits ein Hinweis auf ein Problem

  • Es gibt Ausnahmen (z. B. komplexe Algorithmen oder kritische Logik), bei denen mehr Zeit notwendig ist


Ziele von Code Reviews

Der Fokus liegt nicht auf kleinsten Details, sondern auf dem Gesamtbild:

  • 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 eines Code Reviews

1. Vorbereitung durch den Autor

Bevor du einen Merge Request erstellst:

  • Stelle sicher, dass dein Code funktioniert

  • Führe relevante Tests aus

  • Halte den Scope möglichst klein (ein Ticket = ein Review)

  • Beschreibe klar:

    • Was wurde gemacht?

    • Warum wurde es gemacht?


2. Durchführung des Reviews

Der Reviewer versucht primär:

  • die Struktur des Codes zu verstehen

  • die Intention nachzuvollziehen

  • die Lösung im Kontext des Systems einzuordnen

Wichtiger als jedes Detail ist die Frage:
👉 „Ergibt das insgesamt Sinn?“


3. Bewertungskriterien

Diskussionen im Review sollten sich vor allem auf folgende Aspekte konzentrieren:

  • 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 kann fehlschlagen, wenn z. B.:

  • der Code schwer verständlich ist

  • die Struktur unklar ist

  • zentrale Designentscheidungen nicht nachvollziehbar sind

In diesem Fall sollte der Code vereinfacht oder besser dokumentiert werden.


Ausnahmen

Es gibt Fälle, in denen ein Review bewusst mehr Zeit benötigt:

  • komplexe Algorithmen

  • kritische Business-Logik

  • sicherheitsrelevante Komponenten

In diesen Fällen ist ein tieferes Verständnis ausdrücklich gewünscht.


Präventive Code Reviews

Neben klassischen Reviews nach der Implementierung sind auch präventive Code Reviews sinnvoll:

👉 Wenn du dir bei einem Ansatz oder Design unsicher bist:

  • hole früh Feedback ein

  • bespreche die Idee vor der Umsetzung

Das spart Zeit und verhindert unnötige Nacharbeit.


Beispiele

Schlechtes Beispiel

  • Große Änderung über mehrere Tickets hinweg

  • Kaum Beschreibung im Merge Request

  • Verschachtelter, schwer lesbarer Code

  • Reviewer braucht 10+ Minuten zum Verstehen

→ Ergebnis: Review schlägt fehl


Gutes Beispiel

  • Klar abgegrenztes Ticket

  • Verständliche Struktur

  • Gute Benennung von Variablen und Funktionen

  • Kurze, klare Beschreibung im Merge Request

→ Review dauert wenige Minuten und kann schnell freigegeben werden


Grenzfall

  • Komplexer Algorithmus

  • Review dauert länger als 10 Minuten

  • Zusätzliche Erklärung oder Pair-Review notwendig

→ akzeptabel, wenn die Komplexität gerechtfertigt ist


Best Practices

Für Autoren

  • Halte Code einfach und verständlich

  • Vermeide unnötige Komplexität

  • Erkläre nicht offensichtliche Entscheidungen

  • Schneide Änderungen sauber pro Ticket


Für Reviewer

  • Fokussiere dich auf das große Ganze

  • Vermeide Micromanagement

  • Stelle Fragen statt Annahmen zu treffen

  • Gib klares, begründetes Feedback


Fazit

Code Reviews sollen schnell, fokussiert und sinnvoll sein.
Das Ziel ist nicht Perfektion im Detail, sondern ein solides, verständliches und gut integriertes Gesamtsystem.

Gute Reviews verbessern nicht nur den Code, sondern auch das gemeinsame Verständnis im Team.