Skip to content
IRC-CodingIRC-Coding
Code ReviewPull RequestCode Review ProzessFeedbackSoftwarequalitätTeamarbeit

Code Review Grundlagen: Struktur, Prozess und Best Practices

Code Review Grundlagen: Warum Reviews wichtig sind, wie man sie strukturiert, effektive Feedback-Kultur und Praxisbeispiele.

S

schutzgeist

4 min read
Code Review Grundlagen: Struktur, Prozess und Best Practices

Code Review Grundlagen

Code Reviews sind einer der effektivsten Wege, Softwarequalität zu sichern, Wissen im Team zu teilen und Fehler vor der Produktion zu finden.

In a Nutshell

Code Review ist der Prozess, bei dem andere Entwickler den Code vor dem Merge prüfen. Gute Reviews konzentrieren sich auf Logik, Lesbarkeit, Sicherheit und Architektur — nicht auf Stil oder persönliche Vorlieben.

Kompakte Fachbeschreibung

Code Review ist eine Qualitätssicherungsmaßnahme, bei der ein oder mehrere Entwickler den Quellcode eines anderen prüfen, bevor er in den Hauptzweig integriert wird. Der Prozess erfolgt typischerweise über Pull Requests (PR) oder Merge Requests (MR) in Versionsverwaltungssystemen wie GitHub, GitLab oder Bitbucket. Code Reviews dienen der Fehlererkennung, Wissensverteilung, Einhaltung von Coding-Standards und der kontinuierlichen Verbesserung der Codequalität.

Warum Code Reviews?

  • Fehlerfindung: Studien zeigen, dass Reviews bis zu 60% der Fehler vor der Produktion finden
  • Wissenstransfer: Alle im Team lernen vom Code anderer
  • Konsistenz: Einheitliche Architektur und Coding-Standards
  • Teamkultur: Gemeinsames Verantwortungsbewusstsein
  • Onboarding: Neue Entwickler lernen durch das Review von bestehendem Code

Der Code Review Prozess

1. Vorbereitung

# Feature-Branch erstellen
git checkout -b feature/user-authentication

# Änderungen committen
git add .
git commit -m "feat: add JWT authentication"

# Push und Pull Request erstellen
git push origin feature/user-authentication

2. PR-Beschreibung

Eine gute PR-Beschreibung enthält:

  • Was wurde geändert?
  • Warum wurde es geändert?
  • Wie wurde es getestet?
  • Screenshots (bei UI-Änderungen)
  • Verweise auf Tickets/Issues
## Änderungen
JWT-basierte Authentifizierung hinzugefügt.

## Warum
Sicherheit: Session-basierte Auth ist für mobile Clients ungeeignet.

## Tests
- Unit Tests für Token-Generierung
- Integration Tests für Login-Flow
- Manual Testing mit Postman

## Screenshots
[Login-Screenshot]

## Verweise
Closes #123

3. Review-Checkliste

  • Logik: Tut der Code das, was er soll?
  • Lesbarkeit: Ist der Code verständlich?
  • Sicherheit: Gibt es Sicherheitslücken?
  • Performance: Gibt es Performance-Probleme?
  • Tests: Sind Tests ausreichend?
  • Dokumentation: Ist Änderung dokumentiert?

4. Feedback geben

# Konstruktives Feedback

## Positiv
- Gute Trennung von Auth-Logik und Controller
- Tests sind umfassend

## Verbesserungsvorschläge
- Die Token-Validierung könnte in einen Service ausgelagert werden
- Die Secret-Konstante sollte aus Umgebungsvariablen gelesen werden

## Fragen
- Warum wurde hier JWT statt OAuth2 gewählt?

5. Merge

Nach Änderungen und Approval:

# Rebase auf main
git checkout main
git pull
git checkout feature/user-authentication
git rebase main

# Push und Merge
git push origin feature/user-authentication
# Merge in GitHub UI

Best Practices

Für Reviewer

  • Fokus auf das Wesentliche: Priorisiere Logik und Sicherheit über Stil
  • Kleine PRs: PRs unter 400 Zeilen sind leichter zu reviewen
  • Schnelles Feedback: Review innerhalb von 24 Stunden
  • Konstruktiv: Erkläre WARUM, nicht nur WAS
  • Positiv: Beginne mit dem, was gut ist

Für Autoren

  • Selbst-Review: Review deinen eigenen Code vor dem PR
  • Kleine Commits: Logisch zusammengehörige Änderungen
  • Klare Beschreibung: Erkläre Kontext und Entscheidungen
  • Tests: Füge Tests für neue Funktionalität hinzu
  • Reagiere: Antworte auf Feedback zeitnah

Häufige Fehler vermeiden

FehlerBeschreibungLösung
NitpickingFokus auf Formatierung statt LogikLinter für Stil, Review für Inhalt
Delayed ReviewsReviews werden nicht ausgeführtSLA von 24 Stunden einhalten
Approval ohne ReviewPR wird ohne Prüfung gemergedMindestens ein Reviewer erforderlich
Große PRsTausende Zeilen in einem PRAufteilen in kleine, logische PRs
Persönlich werdenFeedback als Kritik nehmenFeedback als Verbesserung sehen

Code Review Tools

ToolPlattformBesonderheit
GitHub PRGitHubIntegriert, weit verbreitet
GitLab MRGitLabIntegriert, CI/CD-Integration
Bitbucket PRBitbucketJira-Integration
PhabricatorSelf-hostedDiffusion, Differential
Review BoardSelf-hostedFlexibel, Git-Integration

Prüfungsrelevante Stichpunkte

  • Code Review als Qualitätssicherungsmaßnahme vor Merge
  • PR/MR als typischer Prozess in Git-Workflows
  • Fokus auf Logik, Sicherheit, Architektur — nicht Stil
  • Kleine PRs (< 400 Zeilen) sind effektiver
  • Konstruktives Feedback: erklären, nicht kritisieren
  • Wissenstransfer als wichtiger Nebeneffekt

FAQ

1. Was ist ein Code Review?

Prüfung von Quellcode durch andere Entwickler vor dem Merge in den Hauptzweig.

2. Warum Code Reviews?

Fehlerfindung, Wissenstransfer, Konsistenz, Teamkultur.

3. Was ist ein Pull Request?

Anfrage, Änderungen aus einem Branch in den Hauptzweig zu mergen.

4. Wie groß sollte ein PR sein?

Unter 400 Zeilen ist ideal. Große PRs sind schwer zu reviewen.

5. Was gehört in eine PR-Beschreibung?

Was, Warum, Tests, Screenshots, Verweise auf Tickets.

6. Wie lange sollte ein Review dauern?

SLA von 24 Stunden. Schnelles Feedback ist wichtig.

7. Was ist Nitpicking?

Fokus auf Formatierung statt Logik. Sollte vermieden werden.

8. Wie gibt man konstruktives Feedback?

Positiv beginnen, erklären warum, nicht nur was. Fragen statt Vorwürfe.

9. Sollte man eigenen Code reviewen?

Ja, Selbst-Review vor dem PR reduziert Fehler.

10. Welche Tools für Code Reviews?

GitHub PR, GitLab MR, Bitbucket PR, Phabricator, Review Board.

11. Was bei Sicherheitslücken?

Sofort melden, nicht öffentlich im PR diskutieren.

12. Wann mergen?

Nach Approval und Behebung von Feedback. CI muss grün sein.

13. Rebase vs Merge?

Rebase für saubere Historie, Merge für einfaches Undo.

14. Wie viele Reviewer?

Mindestens einer, bei kritischen Änderungen zwei oder mehr.

15. Code Review vs Tests?

Tests prüfen Automatisiertes, Reviews prüfen Logik und Architektur.

Weiter im Softwarequalität Lernpfad

Der nächste Artikel im Softwarequalität Lernpfad behandelt Code Review Checkliste — eine detaillierte Checkliste für strukturierte Code Reviews.

Quellen

  1. https://google.github.io/eng-practices/review/
  2. https://github.com/features/pull-requests
  3. https://martinfowler.com/articles/peer-review.html

Buchempfehlungen zur Softwarequalität

Wenn Du Dich weiter mit Code Reviews, Teamarbeit und Softwarequalität beschäftigen möchtest, empfehlen wir Dir die folgenden Bücher:

Software Engineering

Bücher über Softwarequalität, Clean Code, Code Reviews und Softwareentwicklungsprozesse

Software Engineering: Umfassendes Handbuch für die Praxis

Software Engineering: Umfassendes Handbuch für die Praxis

Bei Amazon ansehen

Affiliate-Link: Bei einem Kauf erhalten wir möglicherweise eine Provision.

Refactoring: Wie Sie bestehenden Code verbessern von Martin Fowler

Refactoring: Wie Sie bestehenden Code verbessern von Martin Fowler

Bei Amazon ansehen

Affiliate-Link: Bei einem Kauf erhalten wir möglicherweise eine Provision.

Zurück zum DEV Blog
Share:

Ähnliche Beiträge