Umgestalten von doppeltem Code mit GitHub Copilot Agent

Abgeschlossen

Der Agentmodus ist ein Feature von GitHub Copilot, mit dem Entwickler Umgestaltungen und Codeänderungen mit Hilfe von KI durchführen können. Im Agentmodus kann Copilot Chat Codeänderungen vorschlagen, sich wiederholende Aufgaben automatisieren und Anleitungen zur Verbesserung der Codequalität bereitstellen. Mithilfe des Agentmodus können Entwickler ihren Umgestaltungsprozess optimieren und die Produktivität steigern.

Vergleich der Modi "Fragen" und "Agentenmodus"

Während sich der Ask-Modus auf die Analyse von Code und die Bereitstellung von Erkenntnissen konzentriert, geht der Agentmodus einen Schritt weiter, indem Aufgaben ausgeführt werden, die Code autonom ändern. Die beiden Modi ergänzen sich gegenseitig und können zusammen verwendet werden, um die Entwicklung zu beschleunigen und die Codequalität zu verbessern.

Ask Mode (Erklärungen) Agentmodus (Aktionen)
Ziel: Beantworten Sie Fragen, erläutern, beraten. Ziel: Ausführen von Aufgaben (Schreiben von Code, Umgestaltung usw.).
Umfang: Verwendet Kontext aus geöffneten Dateien oder bereitgestellten Text. Es wurden keine Änderungen vorgenommen. Umfang: Kann auf den gesamten Arbeitsbereich zugreifen und mehrere Änderungen an Dateien vornehmen.
Wann verwendet werden soll: Grundlegendes zu Code, schnelle Hilfe, Prototypen. Wann verwendet werden soll: Anwenden sich wiederholender oder mehrstufiger Änderungen, Generieren neuer Code, Umgestaltung.
Risiko: Niedrig (nur lesbar). Risiko: Höher (nimmt Änderungen vor; muss überprüft werden).

Effektive Aufforderungen für den Agentmodus

Um den Agentmodus optimal zu nutzen, sollten Entwickler klare und spezifische Eingabeaufforderungen bereitstellen. Beispiel: "Extrahieren Sie die doppelte E-Mail-Validierungslogik aus den Methoden UserService.ValidateEmail() und OrderService.ValidateCustomerEmail(). Erstellen Sie eine freigegebene EmailValidator.IsValid()-Methode in einer neuen EmailValidator-Klasse. Umgestalten Sie die vorhandenen Methoden, um den neuen Validator zu verwenden." Durch die Bereitstellung detaillierter Anweisungen können Entwickler den Agent-Modus leiten, um die gewünschten Umgestaltungen durchzuführen und die gewünschten Codequalitätsverbesserungen zu erzielen.

Hier ist eine Liste der bewährten Methoden:

  • Seien Sie spezifisch: Geben Sie klar an, was der Agent tun muss. Wenn Sie einen bestimmten Ansatz haben, den der Agent verwenden soll, beschreiben Sie ihn. Präzise formulierte Vorgänge generieren bessere Ergebnisse.

  • Jeweils einen Schritt: GitHub Copilot Agent kann mehrstufige Implementierungen für zugewiesene Aufgaben planen. Das Aufteilen großer und komplexer Aufgaben in kleinere, besser verwaltbare Aufgaben ist jedoch ein besserer Ansatz. Anstatt beispielsweise den Agent aufzufordern, ein gesamtes Modul umzugestalten, können Sie ihn bitten, eine Hilfsfunktion in einer Aufgabe zu erstellen, und bitten Sie ihn dann, doppelten Code zu entfernen und die ursprünglichen Methoden in einer nachfolgenden Aufgabe umzugestalten. Kleinere Aufgaben ermöglichen eine bessere Kontrolle und helfen Entwicklern, Änderungen inkrementell zu verwalten.

  • Verwenden Sie Kommentare in Eingabeaufforderungen: Fügen Sie bei Bedarf Kommentare in den Code ein, wie beispielsweise // TODO: use OrderHelper here, und bitten Sie dann Copilot, dieses TODO zu beheben. Manchmal hilft die Verankerung von Anweisungen im Code bei der Kontextualisierung der Änderung.

  • Überwachen sie den Fortschritt und überprüfen Sie die Ergebnisse: Überwachen Sie den Fortschritt des Agents im Chatbereich. Bei Bedarf können Sie die Aufgabe abbrechen. Nachdem der Agent die Aufgabe abgeschlossen hat, verwenden Sie den Code-Editor, um jede Bearbeitung einzeln zu überprüfen. GitHub Copilot zeigt eine Liste jeder aktualisierten Datei im Chatbereich an. Achten Sie darauf, jede Datei zu öffnen und die Updates zu überprüfen. Behandeln Sie diesen Prozess wie eine Codeüberprüfung. Wenn etwas nicht in Ordnung ist, können Sie den Agenten bitten, das Problem zu beheben oder die Änderungen manuell vorzunehmen. Wenn die Ergebnisse nicht ihren Erwartungen entsprechen, können Sie die Änderungen jederzeit wiederherstellen und es mit einer spezifischeren Eingabeaufforderung erneut versuchen.

Wann nicht der Agentmodus verwendet werden soll

Der Agentmodus von GitHub Copilot ist ein leistungsfähiges Tool, das Ihren Entwicklungsprozess beschleunigen kann. Es gibt jedoch Situationen, in denen es besser ist, Aufgaben manuell auszuführen. Bei komplexen Umgestaltungen oder kritischen Codeänderungen stellen Entwickler möglicherweise fest, dass sie sich auf ihr eigenes Fachwissen und ihr Eigenes Urteil verlassen müssen. Der Agentmodus eignet sich am besten für sich wiederholende und einfache Umgestaltungsaufgaben, bei denen Automatisierung Zeit und Aufwand sparen kann. Wenn Sie die Einschränkungen des Agentmodus verstehen, können Entwickler fundierte Entscheidungen darüber treffen, wann sie verwendet werden sollen und wann sie sich auf ihr eigenes Fachwissen verlassen.

Zusammenfassung

Die Verwendung des Agent-Modus für die Umgestaltung bietet mehrere Vorteile. Sie spart Zeit und Aufwand, indem sie sich wiederholende Aufgaben automatisieren, die Codequalität verbessert, indem bewährte Methoden vorgeschlagen und die Produktivität verbessert wird, indem der Umgestaltungsprozess optimiert wird. Mithilfe des Agent-Modus können Entwickler übersichtlicheren, wartungsfähigen Code erstellen und sich auf Aufgaben auf höherer Ebene konzentrieren, die ihr Fachwissen erfordern.