Code-Review in JavaScript: Was man prüfen und wie man Feedback geben sollte
Code-Review (Code-Überprüfung) ist der Prozess, bei dem Code von einem oder mehreren Entwicklern überprüft wird, bevor er in den Hauptzweig des Projekts eingefügt wird. Für angehende JavaScript-Entwickler (insbesondere diejenigen, die mit Node.js arbeiten) ist dies nicht nur eine Formalität, sondern ein leistungsstarkes Werkzeug zum Lernen und zur Qualitätssteigerung. In diesem Artikel werden wir untersuchen, worauf bei der Überprüfung zu achten ist und wie man Anmerkungen formuliert, um einen Kollegen nicht zu verletzen, sondern ihm zu helfen, zu wachsen.
Warum ist Code-Review für JavaScript-Projekte wichtig?
JavaScript ist eine dynamische Sprache, und Fehler treten oft erst zur Laufzeit auf. Code-Review hilft, Folgendes zu erkennen:
- Logische Fehler und Bugs;
- Verstöße gegen die Architektur und den Codestil;
- Probleme mit der Leistung;
- Sicherheitslücken (insbesondere in Node.js).
Darüber hinaus ist es eine hervorragende Möglichkeit, Wissen im Team auszutauschen. Selbst wenn Sie ein Anfänger sind, kann Ihr frischer Blick Dinge bemerken, die ein erfahrener Entwickler übersehen hat.
Was man in JavaScript-Code prüfen sollte: Eine Checkliste
Damit das Review systematisch ist, verwenden Sie die folgende Checkliste. Sie ist in drei Blöcke unterteilt: Korrektheit, Lesbarkeit und Leistung/Sicherheit.
1. Korrektheit und Logik
Stellen Sie zunächst sicher, dass der Code die gestellte Aufgabe löst. Prüfen Sie:
- Randfälle: Was passiert, wenn das Array leer ist? Wenn das Argument
nulloderundefinedist? - Asynchronität: Werden Promises korrekt behandelt? Gibt es eine "Callback-Hölle" mit verschachtelten
.then()-Aufrufen? - Datentypen: Wird eine strenge Prüfung verwendet (
===anstelle von==)?
// Schlecht: implizite Typumwandlungif (userInput == 0) { ... }
// Gut: strenger Vergleichif (userInput === 0) { ... }2. Lesbarkeit und Codestil
Code wird für Menschen geschrieben, nicht für Maschinen. Prüfen Sie:
- Benennung: Variablen und Funktionen sollten für sich selbst sprechen.
getData()ist besser alsfunc1(). - Funktionsgröße: Eine Funktion sollte nur eine Sache tun. Wenn sie länger als 20-30 Zeilen ist, sollte sie möglicherweise aufgeteilt werden.
- Magische Zahlen: Lagern Sie Zahlen und Zeichenfolgen in Konstanten aus.
// Schlecht: magische Zahlif (status === 404) { ... }
// Gut: benannte Konstanteconst HTTP_NOT_FOUND = 404;if (status === HTTP_NOT_FOUND) { ... }3. Leistung und Sicherheit (Node.js)
Für serverseitiges JavaScript ist dies entscheidend:
- Vermeiden Sie die Blockierung der Event Loop: Schwere synchrone Operationen (z. B.
JSON.parsegroßer Datenmengen) sollten besser asynchron oder mit Workern ausgeführt werden. - Fehlerbehandlung: Verwenden Sie immer
try/catchin asynchronen Funktionen oder.catch()für Promises. - Injection: Verketten Sie niemals Benutzereingaben direkt in SQL- oder Shell-Befehle. Verwenden Sie parametrisierte Abfragen.
// Schlecht: anfällig für SQL-Injectionconst query = `SELECT * FROM users WHERE id = ${userId}`;
// Gut: parametrisierte Abfrageconst query = 'SELECT * FROM users WHERE id = $1';Wie man Feedback gibt: 5 goldene Regeln
Selbst die korrekteste Checkliste ist nutzlos, wenn das Feedback beim Autor des Codes den Wunsch auslöst, zu kündigen. So machen Sie das Review konstruktiv:
Regel 1: Beginnen Sie mit Positivem
Finden Sie mindestens eine Sache, die gut gemacht ist. „Hervorragende Lösung mit Caching!“ – das hebt die Stimmung und zeigt, dass Sie nicht nur auf Fehler achten.
Regel 2: Kommentieren Sie den Code, nicht die Person
Schreiben Sie statt „Du hast eine schreckliche Schleife geschrieben“: „Diese Schleife kann durch Array.map() ersetzt werden, um die Lesbarkeit zu verbessern“. Sprechen Sie