Code Review

Ein Code Review ist ein systematischer Prozess, bei dem ein oder mehrere Entwickler den Quellcode eines Kollegen prüfen, bevor dieser in die Codebasis integriert wird, um Fehler zu finden und die Qualität zu sichern.

Auf dieser Seite

Code Review (deutsch: Codeüberprüfung) ist ein systematischer Prozess in der Softwareentwicklung, bei dem ein oder mehrere Entwickler den Quellcode eines Kollegen prüfen, bevor dieser in die Codebasis integriert wird. Ziel ist es, Fehler frühzeitig zu erkennen, die Codequalität zu verbessern und Wissen im Team zu teilen.

Code Reviews sind heute ein unverzichtbarer Bestandteil professioneller Softwareentwicklung und werden in nahezu allen Unternehmen praktiziert. Sie sind eng mit modernen Entwicklungspraktiken wie Git, Pull Requests und Continuous Integration verknüpft.

Warum sind Code Reviews wichtig?

Code Reviews erfüllen mehrere wichtige Funktionen im Entwicklungsprozess:

  • Fehlererkennung: Bugs, Logikfehler und Sicherheitslücken werden entdeckt, bevor sie in die Produktion gelangen
  • Qualitätssicherung: Der Code entspricht den definierten Coding-Standards und Best Practices des Teams
  • Wissenstransfer: Teammitglieder lernen voneinander und verstehen verschiedene Teile der Codebasis
  • Konsistenz: Einheitlicher Programmierstil und Architekturmuster werden im gesamten Projekt eingehalten
  • Mentoring: Erfahrene Entwickler können Junior-Entwickler durch konstruktives Feedback fördern
  • Dokumentation: Die Diskussionen in Reviews dienen als zusätzliche Dokumentation für Designentscheidungen

Ablauf eines Code Reviews

Der typische Ablauf eines Code Reviews in modernen Entwicklungsteams sieht folgendermaßen aus:

  1. Code schreiben: Der Entwickler implementiert ein Feature oder einen Bugfix auf einem separaten Branch
  2. Pull Request erstellen: Die Änderungen werden als Pull Request (oder Merge Request) eingereicht
  3. Reviewer zuweisen: Ein oder mehrere Kollegen werden als Reviewer bestimmt
  4. Code prüfen: Die Reviewer analysieren den Code auf Fehler, Stil und Architektur
  5. Feedback geben: Kommentare und Verbesserungsvorschläge werden direkt im Code hinterlassen
  6. Überarbeiten: Der Autor arbeitet das Feedback ein und aktualisiert den Pull Request
  7. Genehmigung: Nach erfolgreicher Prüfung wird der Code freigegeben (“Approved”)
  8. Merge: Der Code wird in den Hauptbranch integriert

Methoden des Code Reviews

Es gibt verschiedene Ansätze, wie Code Reviews durchgeführt werden können:

Toolgestütztes Review

Die heute am weitesten verbreitete Methode nutzt Plattformen wie GitHub, GitLab oder Bitbucket. Pull Requests zeigen die Änderungen übersichtlich an, ermöglichen Inline-Kommentare und integrieren automatisierte Tests.

Over-the-Shoulder-Review

Bei dieser informellen Methode sitzt der Reviewer neben dem Autor und lässt sich die Änderungen erklären. Dies fördert direkte Kommunikation und schnelles Feedback, ist aber weniger gut dokumentiert.

Pair Programming

Beim Pair Programming arbeiten zwei Entwickler gemeinsam an einem Computer. Einer schreibt Code (Driver), der andere überprüft in Echtzeit (Navigator). Diese Methode kombiniert Entwicklung und Review in einem Schritt.

Formale Inspektion

Die von Michael Fagan in den 1970er Jahren entwickelte Fagan-Inspektion ist ein formaler Prozess mit mehreren Phasen und definierten Rollen. Diese Methode wird heute hauptsächlich in sicherheitskritischen Bereichen wie Luftfahrt oder Medizintechnik eingesetzt.

Best Practices für effektive Code Reviews

Um Code Reviews produktiv und angenehm zu gestalten, sollten einige bewährte Praktiken beachtet werden:

Für Autoren

  • Kleine Pull Requests: Maximal 200-400 Zeilen Code pro Review, größere Änderungen werden leicht übersehen
  • Aussagekräftige Beschreibung: Erkläre das “Warum” hinter den Änderungen
  • Selbst-Review: Prüfe deinen eigenen Code, bevor du ihn einreichst
  • Tests hinzufügen: Stelle sicher, dass Änderungen durch Tests abgedeckt sind
  • Kontext liefern: Verlinke relevante Tickets oder Dokumentation

Für Reviewer

  • Konstruktives Feedback: Formuliere Verbesserungsvorschläge freundlich und hilfsbereit
  • Fragen stellen: “Was war der Grund für diese Entscheidung?” statt “Das ist falsch”
  • Prioritäten setzen: Unterscheide zwischen kritischen Problemen und Stilfragen
  • Zeitnah reagieren: Reviews sollten innerhalb weniger Stunden erfolgen, nicht Tage später
  • Auch Positives hervorheben: Lobe gute Lösungen und sauberen Code

Code Review Checkliste

Eine strukturierte Checkliste hilft, keine wichtigen Aspekte zu übersehen:

KategoriePrüfpunkte
FunktionalitätErfüllt der Code die Anforderungen? Funktioniert die Logik korrekt?
LesbarkeitSind Variablen- und Funktionsnamen aussagekräftig? Ist der Code verständlich?
ArchitekturPasst der Code zur bestehenden Struktur? Werden Design-Patterns korrekt verwendet?
FehlerbehandlungWerden Exceptions sinnvoll behandelt? Gibt es Edge Cases?
SicherheitGibt es potenzielle Sicherheitslücken wie SQL-Injection oder XSS?
PerformanceGibt es unnötige Schleifen oder teure Operationen?
TestsSind ausreichend Unit-Tests vorhanden? Decken sie die wichtigen Fälle ab?
DokumentationSind komplexe Stellen kommentiert? Ist die API dokumentiert?

Tools für Code Reviews

Moderne Entwicklungsteams nutzen verschiedene Tools, um Code Reviews effizient durchzuführen:

  • GitHub/GitLab/Bitbucket: Integrierte Pull Request-Funktionen mit Inline-Kommentaren
  • Gerrit: Spezialisiertes Code-Review-Tool, entwickelt von Google
  • Crucible: Atlassian-Tool für umfangreiche Code-Reviews
  • SonarQube: Automatische statische Codeanalyse für Qualitätsmetriken
  • ESLint/Prettier: Automatische Stil- und Formatierungsprüfung für JavaScript
  • CodeClimate: Automatisierte Code-Review-Plattform mit Qualitätsmetriken

Code Reviews in der CI/CD-Pipeline

In modernen Entwicklungsprozessen sind Code Reviews Teil der Continuous Integration/Continuous Delivery (CI/CD)-Pipeline. Der typische Ablauf:

1. Entwickler pusht Code auf Feature-Branch
2. Automatische Checks laufen (Tests, Linting, Build)
3. Pull Request wird erstellt
4. Reviewer prüfen den Code manuell
5. Nach Approval wird automatisch gemergt
6. Code wird auf Staging/Produktion deployt

Automatisierte Tools ergänzen das manuelle Review, indem sie Stilfehler, bekannte Sicherheitslücken und Testabdeckung prüfen. So können sich Reviewer auf Architektur, Logik und Design konzentrieren.

Code Reviews in der IT-Ausbildung

Für angehende Fachinformatiker für Anwendungsentwicklung sind Code Reviews eine wichtige Kompetenz. Im Ausbildungsalltag bieten sie:

  • Lernmöglichkeiten: Feedback von erfahrenen Entwicklern hilft, Programmierfähigkeiten zu verbessern
  • Best Practices: Du lernst etablierte Muster und Konventionen kennen
  • Teamarbeit: Code Reviews fördern Kommunikation und Zusammenarbeit im Team
  • Qualitätsbewusstsein: Du entwickelst ein Auge für sauberen, wartbaren Code

Scheue dich nicht, Fragen zu stellen, wenn du Feedback erhältst. Code Reviews sind kein Urteil über deine Fähigkeiten, sondern eine Gelegenheit zum Lernen und gemeinsamen Verbessern.

Prüfungsbezug

Passt zu deiner Prüfungsvorbereitung

Wenn dir dieser Begriff in Aufgaben, Projektdokumentation oder Fachgespräch begegnet, ordne ihn direkt in den Prüfungsstoff ein.