Einleitung
Code Reviews sind einer der effektivsten Wege, Bugs zu finden und Code-Qualität zu sichern. Aber sie sind auch zeitaufwändig und kosten Senior-Entwickler wertvolle Stunden. KI-Tools können den Review-Prozess radikal beschleunigen, ohne die Qualität zu senken.
In diesem Artikel zeige ich dir einen vollständigen AI Code Review Workflow: Was die KI prüfen kann, welche Prompts du nutzt und wie du KI-Reviews in deinen Team-Prozess integrierst.
Inhaltsverzeichnis
- Warum AI Code Reviews?
- Was KI reviewen kann (und was nicht)
- Prompt 1: Allgemeines Code Review
- Prompt 2: Security-fokussiertes Review
- Prompt 3: Performance Review
- Prompt 4: Readability & Maintainability
- Prompt 5: SOLID Principles Check
- Prompt 6: Test-Qualität reviewen
- Prompt 7: Pull Request Review
- Prompt 8: Self-Review vor dem PR
- Integration in den Team-Workflow
- Code Review Checkliste
- FAQ
Warum AI Code Reviews?
Somit kannst du direkt mit der Umsetzung beginnen.
Die Zahlen sprechen für sich:
- Geschwindigkeit: KI reviewed 500 Zeilen in 30 Sekunden statt 30 Minuten
- Konsistenz: Vor allem kein „mal so, mal so“ – KI prüft immer die gleichen Kriterien
- Verfügbarkeit: Besonders kein Warten auf den Senior-Entwickler, der gerade im Meeting ist
- Kein Ego: KI-Feedback ist sachlich, nie persönlich. Keine Team-Konflikte
- Lerneffekt: Junior-Entwickler lernen aus dem Feedback, bevor der Human Review beginnt
Was KI reviewen kann (und was nicht)
KI ist stark bei:
Dementsprechend solltest du die folgenden Aspekte kennen.
- Security-Schwachstellen (Injection, XSS, fehlende Auth-Checks)
- Zudem code-Style und Konsistenz
- Darüber hinaus performance-Probleme (N+1 Queries, Memory Leaks)
- Besonders error Handling Lücken
- Fehlende Edge Cases
- Best Practices und Design Patterns
- Typ-Fehler und potenzielle Runtime-Errors
KI ist schwach bei:
Im Folgenden findest du alle wichtigen Details dazu.
- Business-Logik-Korrektheit (versteht die Anforderungen nicht)
- Weiterhin uX-Entscheidungen
- Ferner architektur-Entscheidungen im Projekt-Kontext
- Team-Conventions, die nicht im Code sichtbar sind
- Product Owner Feedback
Fazit: KI für technisches Review, Menschen für Business-Logik und Architektur.
Prompt 1: Allgemeines Code Review
Im Grunde vereinfacht dieser Ansatz den gesamten Workflow erheblich.
Reviewe diesen Code als erfahrener Senior-Entwickler:
```[sprache]
[Code einfügen]
```
Prüfe auf:
1. **Bugs:** Logikfehler, Edge Cases, Race Conditions
2. **Security:** Injection, XSS, fehlende Validierung, Secrets im Code
3. **Performance:** Unnötige Operationen, O(n²) wo O(n) möglich wäre
4. **Readability:** Verständlichkeit, Benennung, Kommentare
5. **Maintainability:** Modularität, Coupling, DRY-Prinzip
6. **Error Handling:** Fehlende try/catch, unbehandelte Promises
7. **Testing:** Ist der Code testbar? Fehlende Tests?
Für jedes Finding:
- Severity: 🔴 Critical / 🟡 Important / 🟢 Nice-to-have
- Zeile(n): Wo im Code
- Problem: Was ist das Problem?
- Fix: Konkreter Lösungsvorschlag
- Begründung: Warum ist das ein Problem?
Außerdem kannst du den Prompt für verschiedene Programmiersprachen anpassen.
Prompt 2: Security-fokussiertes Review
Zusammenfassend lässt sich sagen, dass dies ein zentraler Aspekt ist.
Führe ein Security-fokussiertes Code Review durch:
```[sprache]
[Code einfügen]
```
Prüfe gegen OWASP Top 10 (2021) und OWASP API Security Top 10:
1. A01: Broken Access Control
- Fehlende Autorisierungschecks?
- IDOR-Schwachstellen?
2. A02: Cryptographic Failures
- Sensible Daten im Klartext?
- Schwache Hashing-Algorithmen?
3. A03: Injection
- SQL/NoSQL Injection möglich?
- Command Injection?
- XSS?
4. A04: Insecure Design
- Fehlende Rate Limiting?
- Fehlende Input-Validierung?
5. A05-A10: [weitere Kategorien]
Für jede Schwachstelle:
- CWE-ID
- Severity (Critical/High/Medium/Low)
- Proof of Concept (wie kann sie ausgenutzt werden?)
- Fix-Code
Im Grunde funktioniert dieser Ansatz mit allen gängigen AI-Tools.
Prompt 3: Performance Review
Dennoch solltest du einige Besonderheiten beachten.
Reviewe diesen Code auf Performance-Probleme:
```[sprache]
[Code einfügen]
```
Prüfe auf:
1. **Zeitkomplexität:** O(n²) oder schlechter? Kann es optimiert werden?
2. **Speicher:** Memory Leaks, unnötige Kopien, große Objekte im Speicher
3. **Datenbankabfragen:** N+1 Problem, fehlende Indizes, SELECT *
4. **Netzwerk:** Zu viele API-Calls, fehlende Caching, große Payloads
5. **Rendering:** (Frontend) Unnötige Re-Renders, fehlende Memoization
6. **Bundle Size:** Große Imports, Tree-Shaking-Probleme
7. **Async:** Sequentielle Aufrufe die parallel sein könnten
Für jedes Problem:
- Impact: Hoch/Mittel/Niedrig
- Aktuell: Was passiert jetzt
- Optimiert: Wie es besser wäre
- Geschätzter Performance-Gewinn
Deshalb empfiehlt es sich, den Prompt schrittweise zu verfeinern.
Prompt 4: Readability & Maintainability
Grundsätzlich gibt es dabei einige Punkte zu beachten.
Reviewe diesen Code auf Lesbarkeit und Wartbarkeit:
```[sprache]
[Code einfügen]
```
Prüfe:
1. **Benennung:** Sind Variablen/Funktionen/Klassen selbsterklärend?
2. **Funktionslänge:** Über 20 Zeilen → Extract Method?
3. **Verschachtelung:** Mehr als 3 Ebenen tief → Early Returns?
4. **DRY:** Duplizierter Code?
5. **Kommentare:** Zu viele? Zu wenige? Veraltet?
6. **Consistency:** Gleiche Dinge gleich gemacht?
7. **Cognitive Complexity:** Wie schwer ist es, den Code zu verstehen?
Gib jedem Aspekt eine Note (A-F) und konkreten Verbesserungsvorschlag.
Bonus: Würde ein neues Teammitglied diesen Code ohne Erklärung verstehen?
Prompt 5: SOLID Principles Check
Folglich profitierst du von einem besseren Verständnis dieser Konzepte.
Prüfe diesen Code auf Einhaltung der SOLID-Prinzipien:
```[sprache]
[Code einfügen]
```
Für jedes Prinzip:
1. **S – Single Responsibility:**
Hat jede Klasse/Funktion genau eine Verantwortlichkeit?
2. **O – Open/Closed:**
Kann das Verhalten erweitert werden, ohne bestehenden Code zu ändern?
3. **L – Liskov Substitution:**
Können Subklassen die Basisklasse ersetzen, ohne das Verhalten zu brechen?
4. **I – Interface Segregation:**
Sind Interfaces fokussiert oder werden Implementierer gezwungen, Methoden zu implementieren die sie nicht brauchen?
5. **D – Dependency Inversion:**
Hängt der Code von Abstraktionen oder konkreten Implementierungen ab?
Bewertung pro Prinzip: ✅ Erfüllt / ⚠️ Teilweise / ❌ Verletzt
Bei Verletzung: Konkreter Refactoring-Vorschlag.
Grundsätzlich kannst du diesen Prompt an deine Bedürfnisse anpassen.
Prompt 6: Test-Qualität reviewen
Tatsächlich ist dieser Bereich besonders wichtig für Entwickler.
Reviewe die Qualität dieser Tests:
Implementierung:
```[sprache]
[Code]
```
Tests:
```[sprache]
[Tests]
```
Prüfe:
1. **Coverage:** Welche Code-Pfade sind nicht abgedeckt?
2. **Assertions:** Testen die Tests das Richtige? Oder nur „kein Error"?
3. **Isolation:** Hängen Tests voneinander ab?
4. **Fragility:** Testen sie Implementation Details statt Verhalten?
5. **Naming:** Beschreiben die Testnamen was getestet wird?
6. **Setup:** Ist das Setup minimal oder zu komplex?
7. **Mocks:** Wird zu viel oder zu wenig gemockt?
8. **Edge Cases:** Welche fehlen?
9. **Flakiness-Risiko:** Können Tests zufällig fehlschlagen?
Gesamtbewertung: Test Score (1-10) mit Begründung.
Vor allem die detaillierten Anweisungen sorgen für präzisere Ergebnisse.
Prompt 7: Pull Request Review
Natürlich gibt es dabei verschiedene Herangehensweisen.
Reviewe diesen Pull Request:
PR-Beschreibung: [z.B. "Adds user profile editing feature"]
Geänderte Dateien:
Datei 1 (geändert):
```diff
[Git Diff für Datei 1]
```
Datei 2 (neu):
```[sprache]
[Neuer Code]
```
Datei 3 (gelöscht): [Dateiname]
Prüfe:
1. Erfüllt der Code die PR-Beschreibung?
2. Gibt es Breaking Changes?
3. Sind alle Änderungen nötig (kein Scope Creep)?
4. Tests für neue Funktionalität vorhanden?
5. Migration/Schema-Änderungen korrekt?
6. Dokumentation aktualisiert?
Gib dein Review als:
- APPROVE: Alles in Ordnung, kann gemergt werden
- REQUEST CHANGES: [Liste der nötigen Änderungen]
- COMMENT: [Vorschläge, die nicht blockieren]
Somit sparst du Zeit und erhältst qualitativ hochwertigeren Output.
Prompt 8: Self-Review vor dem PR
Vor allem für den praktischen Einsatz sind diese Informationen wertvoll.
Ich möchte einen PR erstellen. Reviewe meinen Code bevor ich ihn einreiche:
```diff
[Git Diff einfügen – `git diff main` oder `git diff --staged`]
```
Prüfe aus der Perspektive eines kritischen Reviewers:
1. Offensichtliche Bugs oder Typos?
2. Verständlich ohne Kontext?
3. Tests vorhanden und sinnvoll?
4. Error Handling vollständig?
5. Keine Secrets/Debug-Code/console.logs vergessen?
6. Commit Messages sinnvoll?
7. Würdest du diesen PR approven?
Falls nicht: Was muss ich noch ändern?
Integration in den Team-Workflow
Außerdem gibt es hilfreiche Tools, die dich dabei unterstützen.
So integrierst du AI Code Reviews optimal in deinen Team-Prozess:
Stufe 1: Self-Review (Autor)
Dabei spielen mehrere Faktoren eine wichtige Rolle.
- Entwickler nutzt Prompt 8 (Self-Review) vor dem PR
- Behebt offensichtliche Probleme selbst
- Spart dem Reviewer Zeit und peinliche Kommentare
Stufe 2: AI Review (automatisiert)
Ebenfalls relevant sind die praktischen Anwendungsbeispiele.
- CI/CD-Pipeline triggert AI-Review bei PR-Erstellung
- KI postet Findings als PR-Kommentare
- Blocker-Findings verhindern Merge
Stufe 3: Human Review (Reviewer)
Insbesondere für den Einstieg sind die folgenden Informationen hilfreich.
- Reviewer fokussiert sich auf Business-Logik und Architektur
- Technische Details sind bereits durch KI abgedeckt
- Review dauert 10 Minuten statt 45
Code Review Checkliste
Allerdings gibt es einige wichtige Unterschiede zu beachten.
Nutze diese Checkliste für jeden Review – ob manuell oder mit KI:
Korrektheit
Ebenso wichtig ist es, die Best Practices zu kennen.
- Erfüllt der Code die Anforderung?
- Ebenfalls gibt es Logikfehler?
- Edge Cases behandelt?
- Error Handling vollständig?
Security
Darüber hinaus bietet dieser Abschnitt konkrete Beispiele und Tipps.
- Input validiert und sanitized?
- Darüber hinaus autorisierung geprüft?
- Keine Secrets im Code?
- SQL/XSS Injection verhindert?
Performance
Deshalb lohnt es sich, dieses Thema genauer zu betrachten.
- Keine unnötigen DB-Queries?
- Zudem algorithmus-Komplexität akzeptabel?
- Memory Leaks möglich?
Wartbarkeit
Weiterhin ist es wichtig, die Grundlagen zu verstehen.
- Code verständlich ohne Erklärung?
- Zudem funktionen kurz und fokussiert?
- DRY-Prinzip eingehalten?
- Tests vorhanden und sinnvoll?
FAQ
Ersetzt KI den menschlichen Code Review?
Zusammenfassend lässt sich sagen, dass dies ein zentraler Aspekt ist.
Nein, sie ergänzt ihn. KI findet technische Probleme (Security, Performance, Style). Menschen beurteilen Business-Logik, Architektur und ob der Code zum Gesamtsystem passt. Die Kombination ist stärker als beides allein.
Darf ich proprietären Code an Claude/ChatGPT senden?
Insbesondere für den Einstieg sind die folgenden Informationen hilfreich.
Prüfe die Datenschutzrichtlinien deines Unternehmens. Claude Pro und ChatGPT Team/Enterprise nutzen die Daten nicht für Training. Bei Bedenken: Sensible Teile (API-Keys, Kundendaten) entfernen oder Business-Logik anonymisieren.
Wie verhindere ich, dass KI-Reviews Team-Konflikte verursachen?
Natürlich gibt es dabei verschiedene Herangehensweisen.
Regel: KI-Findings sind Vorschläge, keine Befehle. Das Team entscheidet gemeinsam, welche Findings relevant sind. Nutze die KI als „neutralen dritten Meinung“ – nicht als Autorität.
Welches Tool für automatische PR-Reviews?
Allerdings gibt es einige wichtige Unterschiede zu beachten.
Dedizierte Tools: CodeRabbit, Qodo (ehem. CodiumAI), Sourcery. Diese integrieren sich direkt in GitHub/GitLab PRs. Alternative: Claude/ChatGPT mit dem Git Diff manuell nutzen (Prompt 7).
Wie oft soll die KI reviewen?
Außerdem gibt es hilfreiche Tools, die dich dabei unterstützen.
Bei jedem PR. Die Kosten sind minimal (Sekunden + ein paar Cent API-Kosten), der Nutzen ist konsistent hoch. Self-Review (Prompt 8) vor jedem PR, Full Review (Prompt 1 oder 7) als CI-Step.
Verwandte Artikel:
- 50 ChatGPT Prompts für Entwickler
- Insbesondere Claude Prompts für Programmierer
- Zudem AI Workflow für Debugging
- AI Refactoring Guide
- AI Tools für automatisierte Tests
Zuletzt aktualisiert: März 2026