Skip to main content

Beschleunigen von Pull Requests in deinem Unternehmen mit GitHub Copilot

Grundlegendes zu Features und dazu, wie du Programmierende befähigst und den Effekt von Copilot misst

Wer kann dieses Feature verwenden?

GitHub Copilot Business or GitHub Copilot Enterprise

Der Leitfaden ist inspiriert vom Engineering System Success Playbook (ESSP) von GitHub, das Strategien und Metriken für die Verbesserung von Engineeringsystemen empfiehlt.

Wenn du mit dem Rollout von Copilot beginnst, empfehlen wir, deine Ziele zu definieren, den Rollout entsprechend zu planen und die Ziele klar an Mitarbeitende zu kommunizieren. Weitere Informationen findest du unter Erreichen der Engineeringziele deines Unternehmens mit GitHub Copilot.

1. Identifizieren von Erfolgshindernissen

Der erste Schritt, der vom ESSP empfohlen wird, besteht darin, ein klares Verständnis der Hindernisse zu entwickeln, die Verbesserungen in deinem Unternehmen verhindern. Wenn du die aktuelle Baseline, den gewünschten zukünftigen Zustand und die Hindernisse für Fortschritt kennst, kannst du sicherstellen, dass Änderungen gezielt und effektiv sind.

Teams können Pull Requests aufgrund langwieriger Reviewzyklen häufig erst verzögert mergen. Gründe für solche Verzögerungen sind oft:

  • Komplexe Codeänderungen, die schwer zu verstehen sind
  • Uneinheitliche Codeformatierung, die Reviews erschweren
  • Allgemein mangelnder Kontext zu den Änderungen
  • Soziale Faktoren, die dazu beitragen, dass Reviews nur langsam erfolgen oder kompliziert werden

Reviewende können ebenfalls leicht kleine Fehler übersehen, die zu Produktionsproblemen führen können.

Das führt zu Engpässen im Entwicklungsprozess und verlangsamt die Gesamtbereitstellung sowie die Qualität der Features.

2. Auswerten der Optionen

Der nächste Schritt besteht darin, Lösungen für die in Schritt 1 identifizierten Hindernisse zu bewerten und auszuwählen. In diesem Leitfaden konzentrieren wir uns auf die Auswirkungen, die GitHub Copilot auf das von dir identifizierte Ziel haben kann. Denke daran, dass erfolgreiche Rollouts eines neuen Tools auch Änderungen an Kultur und Prozessen erfordern.

Du führst Testversionen neuer Tools und Prozesse mit Pilotgruppen aus, um Feedback zu sammeln und den Erfolg zu messen. Informationen zu Schulungsressourcen und Metriken, die in der Testversion verwendet werden sollen, findest du in den Abschnitten 3. Implementieren von Änderungen und Zu überwachende Metriken.

Für Copilot registrieren

Wie Copilot helfen kann

GitHub Copilot bietet verschiedene Features, die entwickelt wurden, den Review von Pull Requests zu beschleunigen, die Codequalität zu verbessern und die Zusammenarbeit zu optimieren, was letztendlich zu schnelleren Mergezeiten führt.

Durch die Nutzung der Funktionen von Copilot können Teams ihre Workflows optimieren, Reibungspunkte reduzieren und einheitlichen, qualitativ hochwertigen Code sicherstellen.

Generiert vollständige und hilfreiche PR-Zusammenfassungen

Copilot kann automatisch klare und präzise PR-Zusammenfassungen generieren, wodurch Programmierende Zeit sparen und sicherstellen können, dass der Zweck und die Änderungen des Pull Requests leicht von Reviewenden verstanden werden. Das reduziert die Wahrscheinlichkeit von Missverständnissen und beschleunigt den Reviewprozess.

Unterstützt Reviewende während des Reviews

GitHub Copilot kann als leistungsstarkes Tool beim Review von Pull Requests verwendet werden.

  • Copilot kann dabei helfen, komplexe Codeänderungen zu erläutern, damit Reviewende schneller verstehen, was der Pull Request leistet.
  • Copilot kann repositoryweite, kontextbezogene Vorschläge und potenzielle Codeverbesserungen direkt in der Schnittstelle für Pull Requests auf GitHub bereitstellen, was Reviewenden hilft, potenzielle Probleme abzufangen und konstruktives Feedback effizienter bereitzustellen.
  • Copilot kann Reviewenden helfen, klare, einheitliche und effektive Reviewkommentare zu verfassen und zu schreiben.

Reviews auf Grundlage von Organisationsrichtlinien

  • Copilot kann Codeänderungen in deiner IDE überprüfen, bevor du einen Pull Request öffnest, oder einem Pull Request als Reviewer zugeteilt werden.
  • Mit Regelsätzen kannst du Copilot so einrichten, dass Pull Requests basierend auf benutzerdefinierten Kriterien systematisch überprüft werden.
  • Mit Programmierrichtlinien für Reviews (nur Copilot Enterprise) kann Copilot Programmierstandards und bewährte Methoden durchsetzen, potenzielle Verstöße automatisch kennzeichnen und Fixes vorschlagen.

Diese Features sorgen für Konsistenz innerhalb der Codebasis und helfen dir, Fehler frühzeitig im Entwicklungsprozess abzufangen. Das senkt wiederum die Notwendigkeit manueller Code Reviews und spart Programmierenden und Reviewenden Zeit.

Schlägt Codefixes vor

Copilot kann Schreibenden helfen, die erforderlichen Codeänderungen basierend auf den Reviewkommentaren zu einem Pull Request schnell zu implementieren, um den Review abzuschließen.

Kulturelle Überlegungen

Neben dem Rollout von GitHub Copilot solltest du auch alle sozialen oder kulturellen Faktoren angehen, die dich daran hindern könnten, deine Ziele zu erreichen.

Die folgenden Beispiele stammen aus dem Abschnitt „Anti-Patterns“ im ESSP.

  • Teams können unter Umständen zu lang mit dem Release warten und dann sehr große Codebatches gleichzeitig bereitstellen. Grund dafür können z. B. die Angst vor einer Destabilisierung durch häufige Releases, die fehlende Reife der CI/CD-Pipelines oder strenge Complianceanforderungen sein.
  • Programmierende verbringen möglicherweise zu viel Zeit mit der Codeperfektierung oder fügen unnötige Features hinzu. Das kann durch eine Kultur des Perfektionismus oder durch einen Mangel an effektiver Priorisierung verursacht werden.
  • Programmierende können übermäßig komplexe Lösungen für einfache Probleme erstellen. Das kann durch den Wunsch nach einer unnötig hohen Zukunftssicherheit oder durch den Druck verursacht werden, den Wert durch Komplexität zu steigern.

3. Implementieren von Änderungen

Wenn du den richtigen Ansatz zur Überwindung der Hindernisse identifiziert hast, skaliere die von dir identifizierten Lösungen. Damit der Rollout eines neuen Tools oder Prozesses erfolgreich ist, ist es wichtig, Besitz für jeden Teil des Rollouts zuzuweisen, deine Ziele transparent zu kommunizieren, effektive Schulungen anzubieten und deine Ergebnisse zu messen.

Dieser Abschnitt enthält Beispielszenarien, bewährte Methoden und Ressourcen für Entwickelnde. Wir empfehlen die Verwendung dieses Abschnitts, um die Kommunikation und Schulungssitzungen zu planen, damit Mitarbeitende Copilot entsprechend deiner Ziele nutzen können.

Erstellen hilfreicher Zusammenfassungen für Pull Requests

  1. Klicke beim Erstellen eines Pull Request im Feld „Add a description“ auf das Copilot-Symbol und dann auf Summary.
  2. Copilot scannt den Pull Request und bietet eine Fließtextübersicht über die vorgenommenen Änderungen sowie eine Aufzählung der Änderungen mit den betroffenen Dateien.
  3. Überprüfe, ob du mit der Beschreibung von Copilot zufrieden bist.
  4. Wenn Reviewende deinen Pull Request öffnen, finden sie den gesamten Kontext vor, den sie für den Review benötigen.

Verwenden von Copilot als Reviewassistent

Wenn du einen Pull Request für einen Review öffnest, kannst du den Review mit Copilot beschleunigen.

  1. Verwende Copilot, um die Änderungen im Pull Request zu verstehen.

    • Bitte Copilot, die an einer Datei vorgenommenen Änderungen zusammenzufassen. das ist insbesondere bei längeren diffs hilfreich. Du kannst eine bestimmte Datei aus dem diff auswählen, indem du oben rechts in der Datei auf klickst.

      Screenshot: Registerkarte „files changed“ eines Pull Request. Die Option „Ask Copilot about this diff“ ist rot umrandet.

    • Wenn du mehr über die Änderungen in bestimmten Zeilen wissen möchtest, markiere die gewünschten Zeilen und bitte Copilot um eine Erklärung. Du kannst mehrere Zeilen markieren, indem du auf die oberste Zeilennummer klickst, die UMSCHALTTASTE gedrückt hältst und dann auf die unterste Zeile des diffs klickst.

      Screenshot: Registerkarte „files changed“ eines Pull Request. Mehrere Zeilen sind hervorgehoben, und eine Option „Explain“ wird in einem Dropdownmenü angezeigt.

  2. Lass dir von Copilot bei deinem Pull-Request-Review helfen. Vergiss nicht, die spezifischen Datei-diffs an die Unterhaltung anzufügen, bevor du Copilot promptest.

    • Du kannst Copilot um die Meinung zu den PR-Änderungen bitten, indem du Folgendes fragst: Provide your judgement as a PR Reviewer, both for functional and non-functional aspects that these changes bring. Beachte, dass Copilot in diesem Prompt gebeten wird, sowohl funktionale als auch nicht funktionale Codeaspekte zu berücksichtigen.

    • Du kannst Copilot auch nach einer zweiten Meinung zu deinen eigenen PR-Reviewkommentaren fragen: As my peer reviewer on this pull request, give me your feedback on my own review: YOUR-REVIEW-COMMENT. Do you think it's pertinent? Am I missing something?.

  3. Arbeite mit Copilot zusammen, um Reviewkommentare zu verfassen und auszuarbeiten.

    • Nachdem du den Review mit Copilot geplant hast, kannst du den Dienst bitten, die Kommentare aufzulisten, die du angeben sollst: Make a list of review comments to add to the PR and tell me exactly in which file diff and lines each comment should be added.
    • Du kannst Copilot auch bitten, einen ersten Entwurf eines bestimmten Reviewkommentars zu schreiben oder einen Kommentar auszuarbeiten, bevor du ihn postest: Help me draft review comments as discussed oder Refine this review comment to make it clear, concise, and actionable.

Hinzuziehen von Copilot als Reviewer

Um die Reviewdauer zu reduzieren und Pull Requests schneller zu mergen, solltest du Code Reviews mit Copilot systematisch einsetzen: zuerst in der IDE vor dem Erstellen des Pull Request und dann im PR auf GitHub.

Code Reviews mit Copilot sind kein Ersatz für menschliche Code Reviews. Die oben aufgeführten Schritte können Menschen jedoch helfen, Reviews schneller abzuschließen.

  • Programmierende sollten einen Code Review mit Copilot anfordern, der alle Änderungen abdeckt, bevor sie einen Pull Request erstellen.
  • Admins sollten Repository- oder Organisationsregelsätze einrichten, damit Copilot beim Review automatisch für alle Pull Requests hinzugezogen wird, die für geschützte Branches gelten.
  • Teamleitende sollten den Standardstil und die Standardregeln ihres Teams erfassen und als Programmierrichtlinien für die Organisation festlegen, damit Copilot sie bei Reviews nutzen kann.
    • Stelle sicher, dass deine Programmierrichtlinien einen minimale Formatierungsempfehlungen beinhalten, die den Code besser lesbar machen, was beim Review des Pull Request hilfreich ist.
    • Um die Anzahl der PR-Reviewkommentare zu reduzieren, die Formatierungsproblemen betreffen, solltest du die gleichen Empfehlungen in Copilot-Anweisungen auf Repository- und Organisationsebene festlegen. Auf diese Weise erfüllt der von Copilot generierte Code diese Richtlinien.

Anfordern von Hilfe bei der Implementierung von Reviewkommentaren

Die Personen, die Pull Requests verfassen, können die Klärung von PR-Reviewkommentaren beschleunigen, indem sie Fixes mithilfe von Copilot schnell implementieren.

  • Bei Reviewkommentaren, die von Copilot selbst verfasst wurden, kann der vorgeschlagene Fix direkt committet werden. Alternativ kannst du den Kommentar auch vor dem Commit im Copilot-Arbeitsbereich bearbeiten.
  • Navigiere bei allen Reviewkommentaren, die von Teammitgliedern verfasst wurden, zum Datei-diff des betreffenden PR-Reviewkommentars, und füge den Diff an eine Copilot Chat-Unterhaltung an. Kopiere dann den Reviewkommentar mit einem Prompt wie dem folgenden: Suggest a fix for this review comment:.
  • Wenn du VS Code verwendest, bitte GitHub Copilot im Agent-Modus, die erforderlichen Änderungen aus dem Reviewkommentar zu implementieren.

Bewährte Methoden für Entwickler

Empfehlungen für Programmierende:

  • Fordere einen Review mithilfe von Copilot in der IDE an, bevor du darauf drängst, Probleme frühzeitig abzufangen und zu beheben.
  • Nutze Copilot, um eigene PR-Reviewkommentare zu planen und auszuarbeiten, damit die PR-Autoren Probleme besser verstehen und beheben können.
  • Füge relevanten diff-Kontext, einschließlich konkreter Codezeilen, an die Unterhaltungen mit Copilot an.

Hinweise für Programmierende:

  • Empfehlungen von Copilot sollten nie ohne Tests angewendet werden.
  • Verlasse dich bei Reviews nie ausschließlich auf Copilot.
  • Vernachlässige nie die Codelesbarkeit.

Ressourcen

Zu überwachende Metriken

Um Testversionen neuer Tools zu bewerten und sicherzustellen, dass deine vollständigen Rollouts konsistente Verbesserungen bieten, solltest du die Ergebnisse überwachen und bei Bedarf Anpassungen vornehmen. Im Allgemeinen empfehlen wir, die Schlüsselbereiche Qualität, Geschwindigkeit und Entwicklerzufriedenheit zu berücksichtigen und zu prüfen, wie diese Bereiche zusammen zu Geschäftsergebnissen beitragen.

Hier sind einige Metriken, die du anschauen solltest, um die Auswirkung von Copilot auf dieses bestimmte Ziel zu bewerten.

  • Zufriedenheit der Entwicklungsabteilung: Führe Umfragen durch, um die Zufriedenheit mit Engineering-Tools zu messen.
  • Pro programmierender Person gemergte Pull Requests: Du kannst mit dem pull request-Webhook von GitHub sicherstellen, dass der action-Wert closed lautet und die merged-Eigenschaft im pull request-Objekt den Wert true hat.
  • Vorlaufzeit von Pull Requests: Miss die durchschnittliche Zeitspanne zwischen dem Erstellen und Mergen von Pull Requests.