Code-Review in Java: Was zu prüfen ist und wie man Feedback gibt

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Code-Review in Java: Was zu prüfen ist und wie man Feedback gibt

\n

Code-Review (Code-Überprüfung) ist nicht nur eine Formalität, sondern eine der effektivsten Methoden, um die Codequalität zu verbessern und das professionelle Niveau des Teams zu steigern. Für Java-Entwickler-Anfänger kann die Teilnahme an Reviews einschüchternd wirken: "Was, wenn ich einen Bug übersehe?", "Wie sage ich einem Kollegen, dass sein Code nicht perfekt ist?". In diesem Artikel analysieren wir, worauf bei der Überprüfung von Java-Code zu achten ist und wie man Feedback gibt, das nützlich und nicht verletzend ist.

\n\n

1. Was in Java-Code prüfen: Von Syntax bis Architektur

\n

Code-Review beschränkt sich nicht auf die Suche nach Tippfehlern. Ein guter Reviewer betrachtet den Code systematisch. Hier sind die wichtigsten Prüfkategorien für Java-Projekte:

\n\n

1.1. Korrektheit und Logik

\n

Die erste und wichtigste Frage: "Löst der Code die gestellte Aufgabe?". Prüfen Sie:

\n
    \n
  • Grenzfälle (null, leere Collections, negative Werte).
  • \n
  • Die Logik von Bedingungsanweisungen und Schleifen.
  • \n
  • Die korrekte Behandlung von Ausnahmen (verwenden Sie Exception nicht als universelle Lösung).
  • \n
\n

Beispiel für schlechten Code:

\n
public int divide(int a, int b) {\n    return a / b; // Potenzielle Division durch Null\n}
\n

Was vorschlagen:

\n
public int divide(int a, int b) {\n    if (b == 0) {\n        throw new IllegalArgumentException("Der Divisor darf nicht Null sein");\n    }\n    return a / b;\n}
\n\n

1.2. Lesbarkeit und Stil

\n

Java ist eine Sprache mit etablierten Konventionen (Java Code Conventions, Google Java Style). Achten Sie auf:

\n
    \n
  • Namen von Variablen, Methoden, Klassen (sollten aussagekräftig sein).
  • \n
  • Formatierung (Einrückungen, Leerzeichen, Zeilenlänge).
  • \n
  • Vorhandensein von magischen Zahlen (ziehen Sie sie in Konstanten heraus).
  • \n
\n

Beispiel:

\n
// Schlecht\ndouble x = 3.14159 * r * r;\n\n// Gut\nprivate static final double PI = 3.14159;\ndouble area = PI * radius * radius;
\n\n

1.3. Leistung und Optimierung

\n

Für Java besonders wichtig:

\n
    \n
  • Vermeiden Sie unnötige Objekterstellung in Schleifen.
  • \n
  • Verwenden Sie StringBuilder für die String-Verkettung in Schleifen.
  • \n
  • Überprüfen Sie die Komplexität von Algorithmen (O(n), O(n log n)).
  • \n
\n

Beispiel:

\n
// Schlecht (es werden viele String-Objekte erstellt)\nString result = "";\nfor (int i = 0; i < 1000; i++) {\n    result += i;\n}\n\n// Gut\nStringBuilder sb = new StringBuilder();\nfor (int i = 0; i < 1000; i++) {\n    sb.append(i);\n}\nString result = sb.toString();
\n\n

1.4. Testbarkeit und Tests

\n

Überprüfen Sie, ob der neue Code mit Unit-Tests abgedeckt ist. Achten Sie auf:

\n
    \n
  • Vorhandensein von Tests für Grenzfälle.
  • \n
  • Fehlen von Abhängigkeiten von externen Systemen (DB, API) in Unit-Tests.
  • \n
  • Lesbarkeit der Tests selbst (assert-Methode mit verständlichen Nachrichten).
  • \n
\n\n

2. Wie man Feedback gibt: konstruktiv und ohne Toxizität

\n

Selbst das korrekteste Code-Review kann scheitern, wenn das Feedback aggressiv oder unkonkret gegeben wird. Hier sind einige Regeln für Anfänger:

\n\n

2.1. Die "Sandwich"-Regel

\n

Beginnen Sie mit Positivem, weisen Sie dann auf Mängel hin, und enden Sie mit einer Ermutigung. Zum Beispiel:

\n
    \n
  • Positiv: "Tolle Idee, die Validierung in eine separate Methode auszulagern!"
  • \n
  • Anmerkung: "Aber hier wäre es besser, Optional anstelle von null zurückzugeben, um NullPointerException zu vermeiden."
  • \n
  • Abschluss: "Ansonsten ist der Code sauber, danke für die Arbeit!"
  • \n
\n\n

2.2. Verwenden Sie "Ich"-Aussagen und Fragen

\n

Sagen Sie statt "Du hast das falsch geschrieben" lieber: "Ich glaube, hier könnte ein Bug bei einer leeren Liste auftreten. Was denkst du?". Dies reduziert die Abwehrreaktion und lenkt das Gespräch in konstruktive Bahnen.

Blogs

Buchempfehlungen