Skip to main content

5 Tipps, die Ihnen helfen, ein besserer Code-Reviewer zu werden - die Muse

Comment parler en public sans stress ? | Prise de parole en français (April 2025)

Comment parler en public sans stress ? | Prise de parole en français (April 2025)
Anonim

Als Junior-Softwareentwickler habe ich immer die Kommentare zur Codeüberprüfung durchgesehen, um zu erfahren, wie man ein besserer Codierer wird. Als ich jedoch meine erste Codeüberprüfung versuchte, stellte ich fest, dass meine Erfahrung mich nicht darauf vorbereitet hatte, auf der anderen Seite zu sein.

Ich habe einen schweren Fall von Imposter-Syndrom entwickelt, der sich mit folgenden Fragen abwärts bewegt : Soll ich diese Codezeile kommentieren oder ist es das nicht wert? Sollte ich Artikel finden, die jeden Kommentar unterstützen? Werde ich die Site abstürzen lassen, wenn ich dies genehmige? Werden sie mich hassen? Okay, ich gebe zu, dass ich ziemlich schnell gewunden bin. Aber nachdem ich mit einigen Kollegen gesprochen hatte, wusste ich, dass ich mit meinen Sorgen nicht allein war.

Nachwuchs-Softwareingenieure werden möglicherweise in die Codeüberprüfung mit der Annahme hineingezogen, dass „Sie wissen, wie man ein Buch liest, damit Sie wissen, wie man ein Buch schreibt, was nicht stimmt“, sagt Jessica Rudder, eine erfahrene Ingenieurin bei GitHub.

Es gibt Erwartungen, die mit der Codeüberprüfung einhergehen, und der Prozess kann nervenaufreibend sein. Also habe ich sieben andere Software-Ingenieure befragt, um Tipps zum Aufbau einer Prüfungs-Denkweise zu sammeln.

Code-Review

1. Denken Sie über die Gesamtauswirkung nach

Im Allgemeinen sollte eine gute Pull-Anfrage (PR) nur einen begrenzten Teil der Codebasis betreffen. Der eingeschränkte Geltungsbereich sollte Sie jedoch nicht daran hindern, über die Codeänderung im Kontext der größeren Codebasis nachzudenken.

Nigel Munoz, ehemaliger Full-Stack-Ingenieur bei The Muse und aktueller freiberuflicher Software-Ingenieur, fordert den Rezensenten auf, darüber nachzudenken, wie sich diese Änderung auf das größere und kleinere Bild auswirkt Dies wird wiederholt, ist nicht modular oder entspricht nicht den neuesten Standardkonventionen. Außerdem werden Änderungen an der Architektur der Codebasis analysiert.

Sam Donow, ein Kernentwickler bei Hudson River Trading, ist der Ansicht, dass „nichts zu groß oder zu klein ist, um einen Kommentar abzugeben. Vorschläge für kleine Verbesserungen könnten zu größeren Verbesserungen in mehreren Teilen der Codebasis führen. “

Code-Review Sie können einen PR-Kommentar zu GitHub verwenden, um positives Feedback zu geben und darauf hinzuweisen, wo der Code von den Standardkonventionen des Frameworks React abweichen kann.

Während einer meiner eigenen Codeüberprüfungen erhielt ich zum Beispiel den Kommentar, dass bestimmte Eigenschaften einer React-Komponente verwirrend waren, was umfassendere Fragen zur Verwendung der Komponente hervorrief. Letztendlich habe ich die Eigenschaften aus der ursprünglichen Komponente entfernt und eine separate Komponente erstellt, um das Verhalten der einzelnen Komponenten zu verdeutlichen und sicherzustellen, dass beide an mehreren Stellen verwendet werden können.

2. Betrachten Sie die Sicherheit

Vergessen Sie nicht, dass sich einige Änderungen nicht nur auf die Codebasis auswirken können. Rudder empfiehlt, zu prüfen, ob ein Benutzer "diese Funktionalität nutzen könnte, um jemanden zu belästigen oder das System zu missbrauchen". Wenn die neue Funktion in der Abrufanforderung beispielsweise die Benutzereingabe umfasst, suchen Sie nach SQL-Injection, Datenzugriff, Cross-Site-Scripting und andere Sicherheitslücken.

3. Konzentrieren Sie sich auf Bugs

Ihre Kollegen, die Code beisteuern - egal wie roboterhaft sie auch wirken mögen -, sind Menschen, und Menschen können Funktionalitäten zerstören oder vergessen. Stellen Sie also sicher, dass Sie „die Tests mit der gleichen Wichtigkeit wie der Rest des Codes überprüfen“, rät Abhishek Pillai, ein technischer Leiter bei Teachers Pay Teachers. "Sie werden neue Fehler verhindern und als Dokumentationsform für alle anderen dienen, die in Zukunft daran arbeiten."

Durch Lesen der Tests können Sie die Funktionsweise einer neuen Funktion verstehen und die verschiedenen darin enthaltenen Fälle erkennen. Durch Analysieren der Tests können Sie auf fehlende Fälle hinweisen und Funktionen finden, die in dieser PR nicht enthalten sind. Wenn in der Codeänderung keine Tests enthalten sind und diese relevant erscheinen, ist es angebracht, diese im Rahmen der Überprüfung anzufordern.

Tests sind aber nicht alles. "Glaube nicht zu viel an das System", warnt Donow. "Nur weil Tests durchgeführt wurden, heißt das nicht, dass es keine Fehler gibt."

Vielleicht möchten Sie auch die App lokal ausführen, um sie zu testen und sicherzustellen, dass sie funktioniert. Wenn es nicht funktioniert, macht es keinen Sinn, es noch einmal zu überprüfen “, sagt Ryan Verner, Softwareentwickler bei 8th Light. Obwohl einige Reviewer der Meinung sind, dass manuelle Tests nicht Teil des Codeüberprüfungsprozesses sein sollten - zum Teil aufgrund des Zeitaufwands -, ist Verner der Ansicht, dass dies eine schnelle Methode ist, um zu bestimmen, ob Sie mehr Zeit für die Überprüfung investieren sollten, sowie eine Strategie, um die Anzahl der Tests zu verringern das Wachstum eines Bugs-Backlogs.

4. Seien Sie ein Teamplayer

Das Klischee bekommt eine neue Bedeutung, wenn es darum geht, Code zu überprüfen. "Nehmen Sie sich Zeit für die Überprüfung, denn es ist die Codebasis aller", sagt Verner, der sich für ein Gefühl der "kollektiven Eigenverantwortung" einsetzt Team weniger Arbeit auf der ganzen Linie.

Code-Review Pillai verwendet GIFs, um die genehmigten und sofort einbindbaren PRs seiner Teamkollegen zu feiern.

Gleichzeitig ermutigt Charles Luxton, ein Tech-Leiter bei The Muse, den Rezensenten, die Prioritäten des Teams zu verstehen und sich daran zu erinnern. Angesichts zahlreicher Fristen und Meinungsverschiedenheiten ist es manchmal das Band-Aid, eine Aufgabe für den Rückstand zu erstellen, die sicherstellt, dass in Zukunft Verbesserungen erzielt werden. In der Zwischenzeit müssen Sie einen Kommentar zum fraglichen Code abgeben Halte dein Team bei Laune.

Wenn Sie sich schließlich fragen, ob der Code für jemanden Sinn macht, der gerade dem Team beigetreten ist und ihn in den ersten Wochen gelesen hat, bleibt Ihr Code lesbar und verständlich.

5. Verwenden Sie den Prozess zum Lernen und Teilen von Wissen

Durch den Überprüfungsprozess erhalten alle Beteiligten einen besseren Einblick in die Codebasis, Sprachen, Frameworks und Best Practices.

Matt Jeffery, ein technischer Leiter bei The Muse, rät dem Rezensenten, "die Änderungen architektonisch zu verstehen. Eine Möglichkeit besteht darin, Dateinamen zu lesen, da sie dazu beitragen, den Kontext zu bestimmen. Wenn Sie beispielsweise eine Änderung in der Datenzugriffsebene untersuchen Sie wissen, dass Sie nicht mit Geschäftslogik oder Benutzeroberfläche zu tun haben. "

Code-Review Sie können einen PR-Kommentar in GitHub verwenden, um Dokumentation freizugeben.

Wenn Sie aus Codeänderungen lernen, haben Sie auch die Möglichkeit, Wissen auszutauschen. "Es ist am besten, Ihre Meinung zu erklären und sie mit Unterlagen zu untermauern", sagt Luxton. Die Links, die Sie zu unterstützenden Nachweisen und vertrauenswürdigen Artikeln bereitstellen, helfen dem Rezensenten und dem Code-Schreiber nicht nur, verschiedene Ansätze zu erkunden, wenn sie eine endgültige Entscheidung treffen, sondern stärken auch ihre Programmierkenntnisse.

Denken Sie auch daran, dass das Überprüfen eine Zeit ist, in der Sie die Fähigkeiten Ihrer Mitarbeiter trainieren müssen. "Geben Sie den Menschen den Vorteil des Zweifels, dass sie über ihren Ansatz nachgedacht haben, und weisen Sie auf verschiedene Möglichkeiten hin, während Sie versuchen, die Abwehr zu zerstreuen", sagt Rudder. "Ich hinterlasse überall Kommentare und einen Abschlusskommentar - hier ist was großartig ist, hier ist was verbessert werden kann, hier ist was vor dem Zusammenführen geändert werden muss."

Mit diesem Ansatz schützen Sie nicht nur Ihre Codebasis vor technischen Schulden, Sicherheitsbedrohungen und Fehlern, sondern bauen auch Ihr Team auf.