Was GitHub Copilot zum Überprüfungsprozess hinzufügt

Abgeschlossen

Codeüberprüfungen und Pullanforderungsüberprüfungen sind für die Qualität unerlässlich, können aber auch zeitaufwendig und ungleich sein. Entwickler jonglieren häufig mit mehreren Sprachen, inkonsistenten Formatierungen und großen Diffs, während sie versuchen, durchdachtes Feedback zu geben. GitHub Copilot trägt dazu bei, diesen Arbeitsaufwand zu verringern, indem er als kooperativer Prüfer und Assistent fungiert. Es erfasst häufige Probleme, erstellt Überprüfungskommentare, fasst Pull-Requests zusammen und hebt sogar Sicherheitsrisiken hervor, damit Prüfer einen klaren Ausgangspunkt haben. Mit benutzerdefinierten Überprüfungsanweisungen können Sie Copilot anweisen, auf dieselben Muster zu achten, wie Sie es tun, um die Konsistenz zwischen Teams und Repositories sicherzustellen.

Am Ende dieser Einheit können Sie:

  • Identifizieren Sie die wichtigsten Features von Copilot in Codeüberprüfungen.
  • Erklären Sie, wie PRUs erweiterte Überprüfungsfunktionen freischalten.
  • Erkennen Sie verschiedene Möglichkeiten, wie die Copilot-Überprüfung Entwickler ergänzt und ihnen hilft.

Wichtige Features von Copilot in Codeüberprüfungen

Copilot führt mehrere Features ein, die zur Optimierung von Rezensionen entwickelt wurden:

  • PR Zusammenfassungen: Copilot kann automatisch Pull-Anforderungsbeschreibungen entwerfen, die eine klare Zusammenfassung der Änderungen und eine Liste der betroffenen Dateien enthalten. Dadurch wird sichergestellt, dass Prüfer mit Kontext beginnen, nicht mit Schätzarbeiten.

  • Sicherheitsupdates: Mit der in GitHub Code Scanning integrierten Copilot-Codeüberprüfung werden Sicherheitsrisiken in allen Sprachen gekennzeichnet. In JavaScript kann Copilot beispielsweise unsanitierte Eingaben erkennen, die an eval() übergeben werden, und einen Kommentar dazu abgeben.

    "eval() mit Benutzereingabe kann zum Einfügen von Code führen. Ersetzen Sie ihn durch einen sicheren Parser wie JSON.parse()." Anschließend wird ein Inlinepatch angeboten, der den Sicherheitsrichtlinien Ihres Repositorys entspricht.

  • Line-by-Line-Erklärungen: Prüfer können Code hervorheben und Copilot bitten, die Funktionalität zu erläutern, damit sie nicht vertrauten Code schnell verstehen können.

  • Entwurf von Kommentaren: Copilot kann Bewertungskommentare basierend auf bewährten Methoden oder Teamrichtlinien generieren, um Feedback klar und umsetzbar zu machen.

  • Rezensionen in Ihrer IDE: Neben der direkten Arbeit an GitHub.com kann Copilot auch Code in Ihrer IDE überprüfen. Auf diese Weise können Entwickler Probleme abfangen und beheben, bevor Sie eine Pullanforderung öffnen, den Prozess beschleunigen und Die Überarbeitungen reduzieren.

Verstehen, wie PRUs erweiterte Überprüfungsoptionen freischalten

PRUs treiben diese erweiterten Funktionen an. Beispielsweise verwendet das Zuweisen von Copilot als PR-Reviewer jedes Mal, wenn er Kommentare veröffentlicht, einen PRU. In Kombination mit benutzerdefinierten .github/copilot-instructions.md Dateien passen PRU-basierte Rezensionen den Regeln Ihres Teams an, unabhängig davon, ob sie sich auf Lesbarkeit, Sicherheit oder Stil konzentrieren.

Beispiel:

Ohne Copilot könnte eine PR vage Kommentare von einem Rezensenten wie "Sicherheitsproblem hier beheben" enthalten. Mit Hilfe von Copilot + PRUs wird die Rezension:

Die Verwendung von exec() führt zu einer Sicherheitsanfälligkeit für Code-Injection. Erwägen Sie, es durch subprocess.run() zu ersetzen, um eine sicherere Befehlsausführung zu gewährleisten. Hier ist ein vorgeschlagener Patch:"

Außerdem wird die Codekorrektur inline bereitgestellt.

Fünf verschiedene Möglichkeiten, wie Copilot Review Entwicklern hilft

Als Nächstes überprüfen wir, wie Copilot Review Ihnen helfen kann, intelligenter zu arbeiten mit:

  • Codeüberprüfungsvorschläge
  • Copilot-Rezensionen in mehreren Sprachen
  • Formatieren von Daten in Pullanforderungen
  • Schreiben effektiver Pull-Request-Zusammenfassungen
  • Erläutern und Überprüfen von Code

Verwenden von Copilot-Vorschlägen in Codeüberprüfungen

Wenn Sie eine Pullanforderung überprüfen, können Sie Bereiche erkennen, die verbessert werden könnten, aber nicht die Zeit haben, das perfekte Beispiel oder codeausschnitt selbst zu entwerfen. GitHub Copilot hilft, diese Lücke zu füllen, ohne die Arbeit des Autors zu übernehmen. Innerhalb der Ansicht "Änderungen an Dateien" können Sie eine Zeile oder einen Codeblock markieren und Copilot bitten, Verbesserungsvorschläge zu machen oder potenzielle Probleme zu kennzeichnen. Copilot generiert dann einen konkreten, kontextabhängigen Vorschlag, den Sie in Ihren Überprüfungskommentar kopieren können, wodurch Ihr Feedback klarer und einfacher für den Autor umsetzbar ist.

Beispielsweise könnten Sie beim Überprüfen einer Ruby-Datei mit wiederholter Logik die relevanten Zeilen hervorheben und folgendes fragen:

Schlagen Sie eine sauberere Ruby-Refaktorierung für diesen wiederholten Code vor.

Copilot schlägt eine aktualisierte Version vor, die auf gängige bewährte Ruby-Methoden folgt. Sie können ihre Empfehlung (oder Teile davon) zusammen mit Ihrer eigenen Erklärung in Ihren Rezensionskommentar einfügen. Dies sorgt dafür, dass Sie sich auf die allgemeine Qualität und das Design konzentrieren und gleichzeitig dem Autor handlungsfähiges, hochwertiges Feedback geben, ohne die Linie zwischen Überprüfung und Codierung in ihrem Auftrag zu verschwommen.

Überprüfung über mehrere Sprachen hinweg

Wenn Sie eine Codeüberprüfung anfordern, kann Copilot Automatisch Bereiche hervorheben, die nicht den bewährten Methoden oder Teamrichtlinien entsprechen

Copilot generiert schnell Verbesserungen, die den Konventionen der Sprache entsprechen, sodass Sie stärkeres, genaueres Feedback geben können, auch außerhalb Ihres Hauptgebiets.

Screenshot einer GitHub-Pullanforderung mit einem Codevorschlag zum Ersetzen einer Variablendeklaration durch eine kurze Variablendeklaration in einem Go-Programm.

Formatieren von Daten für Pullanforderungen

Pullanforderungen sind viel klarer, wenn sie gut formatierten Kontext wie Metriken, Screenshots oder Testergebnisse enthalten. Teams vergessen jedoch häufig, diese Inhalte konsistent zu formatieren. GitHub Copilot kann während der Codeüberprüfung als zweite Augengruppe fungieren, automatisch schlecht formatierte Tabellen in einer Pullanforderungsbeschreibung kennzeichnen und eine übersichtlichere Version vorschlagen, die den Stilrichtlinien Ihres Unternehmens entspricht.

Beispiel: Ein Entwickler sendet eine Pullanforderung mit der folgenden Tabelle der Seitenladezeiten. Es ist schwer zu lesen und folgt nicht dem Markdown-Stilleitfaden des Teams:

Testlauf LoadTimeBefore LoadTimeAfter
1.3 1.2
1.2 1.1
1.1 0.885
1.3 1.3
1.2 0.918
Average 1.22 1.0806

Während der Überprüfung veröffentlicht Copilot einen Kommentar:

"Diese Tabelle entspricht nicht den Markdown-Richtlinien Ihres Repositorys. Hier ist eine bereinigte Version, basierend auf den Stilrichtlinien Ihres Unternehmens.

Und es umfasst eine korrigierte Version, die zum Einfügen in die PR-Beschreibung bereit ist:

Testlauf Ladezeit vor (Sekunden) Ladezeit nach Updates (Sekunden)
1 1.3 1.2
2 1.2 1.1
3 1.1 0.885
4 1.3 1.3
5 1.2 0.918
Mittelwert 1.22 1.0806

Der Reviewer kann den Vorschlag von Copilot mit einem Klick akzeptieren, um sicherzustellen, dass die PR dem Unternehmensstil folgt, ohne Zeit fürs Formatieren aufzuwenden.

Dies zeigt, dass Copilot als automatischer Prüfer (kein Codierungsagent) fungiert: Es sieht die unformatierte Tabelle, wendet die Unternehmensrichtlinien aus .github/copilot-instructions.md an und liefert eine korrigierte Version direkt.

Schreiben effektiver Zusammenfassungen für Pull Requests

Das Schreiben von PR-Beschreibungen ist oft der letzte Schritt im Prozess und kann sich wie eine Hürde fühlen. Copilot erleichtert dies. Im PR-Beschreibungs-Editor können Sie das Symbol "Copilot" verwenden, um eine Zusammenfassung oder Gliederung zu generieren. Auch wenn Sie Änderungen vornehmen, spart ein gut strukturierter Ausgangspunkt Zeit und stellt sicher, dass Prüfer über die benötigten Informationen verfügen.

Screenshot einer GitHub-Pullanforderung mit einem Kommentarfeld mit GitHub Copilot-Optionen zum Generieren einer Zusammenfassung oder Gliederung der Änderungen.

Erläutern und Überprüfen von Code

Manchmal kennen Sie den Code in einer Pullanforderung möglicherweise nicht. Anstatt zu straucheln, können Sie Copilot bitten, die Änderungen zu erklären. Copilot kann auch eine erste Überprüfung Ihrer eigenen PRs durchführen, bevor Sie Feedback von Teamkollegen anfordern. Dies hilft bei kleineren Problemen, überprüft bewährte Methoden und bietet Ihnen mehr Vertrauen in die Qualität Ihrer Übermittlung.

Sie wissen jetzt, was Copilot in Bezug auf Codeüberprüfungen kann. Als Nächstes sehen wir, wie Copilot-Rezensionen direkt auf GitHub.com verwendet werden.