Umgestalten großer Funktionen mithilfe des Agentmodus von GitHub Copilot
Die Verwendung des Agent-Modus von GitHub Copilot ist wie ein Assistent, der immer da ist, um Ihnen bei der Entwicklung und Wartung Ihres Codes zu helfen.
Im Agent-Modus weisen Sie GitHub Copilot Aufgaben mithilfe von Eingabeaufforderungen in natürlicher Sprache im Chatbereich zu. GitHub Copilot beginnt mit der Analyse Ihrer Codebasis, wobei die zugewiesene Aufgabe zum Einrichten des erforderlichen Kontexts verwendet wird. Der Agent generiert einen Plan zum Ausführen der Aufgabe und zeigt die Liste der erforderlichen Teilvorgänge an. Anschließend werden die zugeordneten Dateien im Code-Editor geöffnet und bearbeitet. Der Agent schließt die Analyse, Planung und Implementierung autonom ab und stellt einen laufenden Kommentar im Chatbereich bereit, damit Sie den Fortschritt überwachen können. Bei Bedarf bittet der Agent oder die Agentin um Klarstellung, zusätzliche Informationen oder um Erlaubnis, mit einer bestimmten Maßnahme fortzufahren. Nachdem der Agent die Aufgabe abgeschlossen hat, können Sie die Bearbeitungen überprüfen und die einzelnen Änderungen genehmigen (oder ablehnen). Sie behalten die Kontrolle über den gesamten Prozess.
Bewährte Methoden
Beachten Sie diese Tipps, um den Agent-Modus optimal zu verwenden:
- Unterteilen Sie die Umgestaltung in kleine Schritte.
- Überprüfen Sie jede Änderung sorgfältig.
- Kompilieren und Testen nach jedem Schritt.
Allgemeine Umgestaltungsbefehle
Nachfolgend finden Sie einige Beispielaufforderungen für allgemeine Umgestaltungsaufgaben:
- Extrahieren Sie den ausgewählten Validierungscode in eine neue private Methode namens
ValidateOrder, die einen „Order“-Parameter erhält und einen booleschen Wert zurückgibt. Stellen Sie sicher, dass alle Überprüfungslogik verschoben wird und die ursprüngliche Aufrufwebsite den Rückgabewert entsprechend verwendet." - "Überprüfen Sie den ausgewählten Code. Identifizieren und extrahieren Sie alle wiederholten Steuerberechnungslogiken in eine neue private statische Methode
CalculateTax, die die erforderlichen Parameter (Betrag, Steuerrate, Region) verwendet und den berechneten Steuerbetrag zurückgibt. Ersetzen Sie alle doppelten Berechnungen durch Aufrufe dieser Methode." - "Überprüfen Sie den ausgewählten Code. Konvertieren Sie diese If/Else-Kette in einen modernen Switchausdruck, um sicherzustellen, dass alle Fälle abgedeckt werden und die Logik gleich bleibt. Verwenden Sie bei Bedarf Musterabgleich, und behalten Sie denselben Rückgabetyp bei."
- "Überprüfen Sie den ausgewählten Code. Extrahieren Sie alle Preis- und Gesamtberechnungen in eine neue private Methode
ComputeTotals, die einen Order-Parameter verwendet, alle Berechnungen durchführt und die Gesamteigenschaften der Bestellung aktualisiert. Stellen Sie sicher, dass keine Berechnungslogik in der ursprünglichen Methode verbleibt."
Beispielworkflow
Angenommen, Sie verfügen über eine große Funktion ProcessOrder , die die Auftragsverarbeitung verarbeitet, einschließlich Validierung, Preisberechnungen, Speichern in der Datenbank und Senden von Benachrichtigungen. Die Funktion ist über 200 Zeilen lang und muss aufgeschlüsselt werden.
Sie können die folgenden Schritte verwenden, um die Funktion umzugestalten:
Extrahieren Sie das erste Segment:
Extrahieren Sie die Eingabeüberprüfung am Anfang von
ProcessOrderin eine neue MethodeValidateOrder(order), die einen Booleschen Wert zurückgibt.Extrahieren Sie das zweite Segment:
Verschieben Sie die Preisberechnungen in eine neue Methode
ComputeTotals(order), dieorder.Totalaktualisiert.Verbleibende Logik behandeln.
Extrahieren Sie die Speicher- und Benachrichtigungslogik ähnlich, oder lassen Sie sie in der Hauptfunktion, wenn sie jetzt kurz und übersichtlich ist.
Aufräumen:
Benennen Sie Variablen um, entfernen Sie nicht verwendeten Code, und sorgen Sie für Konsistenz.
Vorschläge für den Fragemodus anwenden
Verwenden Sie die Aufschlüsselung des Ask Mode, um den Agentmodus zu leiten:
- Überprüfen Sie den Plan, der im 'Ask mode' vorgeschlagen wurde, und Ihre Folgefragen.
- Formulieren Eines endgültigen Umgestaltungsplans für den Agentmodus.
- Verwenden Sie die Analyse aus dem Ask-Modus, um eine Reihe eindeutiger, spezifischer Eingabeaufforderungen für den Agentmodus zu erstellen. Verwenden Sie ggf. vorgeschlagene Funktionsnamen und Parameterlisten in Ihren Eingabeaufforderungen.
Tipp
Behandeln Sie den Agent-Modus wie ein Juniorentwickler in Ihrem Team. Geben Sie klare Anweisungen, überprüfen Sie ihre Arbeit und korrigieren Sie nach Bedarf.
Was Sie während Ihrer Überprüfung beachten sollten
Überprüfen Sie immer die vom Agent vorgenommenen Änderungen. Betrachten Sie die folgende Checkliste:
- Logische Erhaltung: Stellen Sie sicher, dass kein Verhalten geändert wird.
- Parameterbehandlung: Copilot kann vergessen, eine erforderliche Variable zu übergeben.
- Benennungs- und Zugriffsmodifizierer: Bestätigen Sie, dass sie Ihrem Codebasisstil entsprechen.
- Verpasste Zeilen: Wenn Copilot eine Zeile überspringt, verschieben Sie sie manuell oder fragen Sie erneut nach.
Verwalten unerwarteter Ergebnisse
Wenn der Agent ein Ergebnis erstellt, das nicht das ist, was Sie erwartet haben:
- Rückgängigmachen der Änderung oder Wiederherstellen der Datei.
- Probieren Sie einen kleineren Schritt oder eine genauere Eingabeaufforderung aus.
- Beheben Sie kleinere Probleme manuell, oder bitten Sie Copilot, sie zu beheben.
Zusammenfassung
Die Verwendung des Agent-Modus von GitHub Copilot optimiert den Prozess der Umgestaltung großer Funktionen. Indem Sie die Aufgabe in verwaltbare Schritte unterteilen und Natürliche Sprachaufforderungen verwenden, behalten Sie die Kontrolle, während der Agent die schwere Hebearbeit bewältigen kann. Überprüfen Sie änderungen immer sorgfältig, um die Codequalität und die Logikintegrität sicherzustellen.