Blog

Smarteres Refactoring beginnt mit GitHub Copilot Edits

Von Randy Pagels

Randy Pagels

Randy Pagels

Aktualisiert März 17, 2026
17 Minuten

Einführung

Refactoring ist ein routinemäßiger Teil der Arbeit eines Entwicklers. Im Laufe der Zeit sammeln sich in Projekten Codes an, die zwar funktionieren, aber sauberer, schneller oder einfacher zu pflegen sein könnten. Manchmal ist dies auf veränderte Anforderungen zurückzuführen, ein anderes Mal auf knappe Fristen oder geerbten Altcode. Unabhängig von der Ursache ist die Verbesserung der Struktur des vorhandenen Codes, ohne sein Verhalten zu ändern, für die Gesunderhaltung der Software unerlässlich.

Die Herausforderung besteht darin, dass das Refactoring oft mühsam ist. Sie müssen mehrere Dateien überprüfen, die Abhängigkeiten verstehen und sicherstellen, dass die Änderungen nichts kaputt machen. Selbst eine relativ kleine Verbesserung kann Sie in ein Kaninchenloch verwandter Aktualisierungen ziehen. An dieser Stelle kann der GitHub Copilot Bearbeitungsmodus einen spürbaren Unterschied machen.

Der Bearbeitungsmodus verhält sich wie ein erfahrener Programmierer zu zweit, der neben Ihnen sitzt und auf der Grundlage einer kurzen Anweisung gezielte Änderungen direkt an Ihrem Code vornimmt. Anstatt alles selbst einzutippen oder zwischen einem Chat-Fenster und dem Editor hin und her zu springen, sagen Sie GitHub Copilot, was Sie wollen, und er ändert den Code an Ort und Stelle. Das Ergebnis ist eine engere Feedbackschleife, die Sie im Fluss hält.

In dem Beispielprojekt zum Thema Luftfahrt der Gebrüder Wright, das wir in diesem Artikel verwenden werden, hilft uns der Bearbeitungsmodus dabei, Backend-C#-Controller zu modernisieren, die Codeorganisation zu verbessern und sogar wiederverwendbare UI-Elemente zu erzeugen. Am Ende werden Sie sehen, wie diese Funktion den Weg von "Ich muss das reparieren" zu "fertig und getestet" verkürzen kann, während Sie weiterhin die Kontrolle über den Code behalten.

Was ist der GitHub Copilot Bearbeitungsmodus?

Der GitHub Copilot Bearbeitungsmodus ist eine Möglichkeit, KI-gesteuerte Änderungen direkt auf Ihren Quellcode anzuwenden, ohne den Editor zu verlassen. Anstatt zeilenweise Ergänzungen vorzuschlagen, ändert Copilot den ausgewählten Codeblock, die Datei oder sogar mehrere Dateien als Reaktion auf eine kurze Anweisung, die Sie ihm geben. Dadurch bleibt der Arbeitsablauf auf den Code selbst konzentriert und nicht auf einen separaten Chat-Thread.

Wenn Sie den GitHub Copilot Bearbeitungsmodus in VS Code aktivieren, können Sie:

  1. Wählen Sie den Code aus, den Sie ändern möchten, oder lassen Sie nichts ausgewählt, um die gesamte Datei zu bearbeiten.
  2. Öffnen Sie die GitHub Copilot Chat-Seitenleiste oder verwenden Sie die Inline-Eingabeaufforderung im Editor (drücken Sie Cmd+I auf Mac oder Ctrl+I auf Windows/Linux oder klicken Sie mit der rechten Maustaste und wählen Sie "Copilot: Inline-Chat").
  3. Beschreiben Sie die gewünschte Änderung, z. B. "diese Methoden in async/await umwandeln" oder "diesem Modell eine XML-Dokumentation hinzufügen".
  4. Das Tool schreibt den Code an Ort und Stelle neu und lässt den Rest der Datei unangetastet, es sei denn, die Änderung erfordert umfassendere Anpassungen.

Wie der GitHub Copilot Bearbeitungsmodus unter der Haube funktioniert

Der Bearbeitungsmodus verwendet dieselben zugrundeliegenden KI-Modelle wie andere Funktionen von GitHub Copilot, aber seine Ausgabe ist für die direkte Ersetzung von Code konzipiert. Er sendet den relevanten Codekontext zusammen mit Ihrer Anfrage an das Modell (z.B. GPT-4.1 oder GPT-5) und erzeugt dann die geänderte Version. Sie überprüfen den Diff, bevor Sie die Änderungen akzeptieren, ähnlich wie bei der Überprüfung einer Pull-Anfrage.

Der Unterschied zum Fragemodus und zum Agentenmodus

Alle drei Modi sind Teil der GitHub Copilot Chat-Erfahrung, aber jeder dient einem anderen Zweck:

  • Der Fragemodus ist konversationell. Sie können Fragen zum Code stellen, Beispiele anfordern oder Erklärungen erhalten. Änderungen werden nicht automatisch übernommen, daher ist dieser Modus besser für die Erkundung oder Recherche geeignet.
  • Der Bearbeitungsmodus wendet gezielte Änderungen direkt auf Ihren Code an. Er eignet sich am besten, um bestimmte, begrenzte Änderungen vorzunehmen, die Sie schnell überprüfen können.
  • Der Agentenmodus nimmt eine umfassendere, autonomere Rolle ein. Er kann mehrere Schritte miteinander verknüpfen, neue Dateien erstellen, Befehle ausführen oder komplexere Aufgaben im Laufe der Zeit durchführen.

Kurz gesagt, der GitHub Copilot Bearbeitungsmodus ist das "chirurgische Werkzeug" der drei. Er ist für Momente gedacht, in denen Sie wissen, was Sie ändern möchten und es ohne unnötige Schritte anwenden wollen.

Wann Sie jeden Modus verwenden sollten

Jeder Modus im GitHub Copilot Chat ist für eine andere Art von Aufgabe konzipiert. Die Wahl des richtigen Modus hilft Ihnen, schneller und mit weniger Nachbearbeitungen Ergebnisse zu erzielen.

Wann Sie den GitHub Copilot Fragemodus verwenden sollten

Der Fragemodus ist ein Gesprächsmodus und eignet sich besser für eine ergebnisoffene Erkundung oder wenn Sie eine Anleitung benötigen, bevor Sie Änderungen vornehmen.

Wann Sie den GitHub Copilot Bearbeitungsmodus verwenden sollten

Der Bearbeitungsmodus eignet sich am besten, wenn Sie genau wissen, was Sie ändern müssen und der Umfang begrenzt ist. Er ist ideal für:

  • Refactoring von Code ohne Änderung des Verhaltens.
  • Hinzufügen oder Verbessern der Dokumentation.
  • Stilistische oder Formatierungsanpassungen vornehmen.
  • Extrahieren oder Verschieben von Code zur Verbesserung der Struktur.

Wann Sie den GitHub Copilot Agent Modus verwenden sollten

Der Agentenmodus ist am autonomsten. Er eignet sich für Änderungen an mehreren Dateien, die Erstellung neuer Dateien oder koordinierte Aktualisierungen.

Leitfaden für schnelle Entscheidungen

  • Erforschen oder Lernen des Codes → Frag-Modus
  • Klar, was und wo geändert werden soll → Bearbeitungsmodus
  • Automatisieren von mehrstufigen Arbeiten → Agent-Modus

Refactoring in Aktion: Beispiele der Gebrüder Wright

Backend Controller-Methoden in async/await umwandeln

Szenario Die FlightsController verwendet derzeit synchrone Datenzugriffsaufrufe, um Fluginformationen abzurufen und zu aktualisieren. Das funktioniert, aber bei starker Belastung können synchrone Aufrufe Threads blockieren und die API verlangsamen. Durch die Umstellung dieser Methoden auf async/await können Anfragen effizienter verarbeitet werden, ohne dass der Thread-Pool blockiert wird.

Komplettlösung

Beginnen Sie damit, FlightsController.cs zu öffnen. Markieren Sie die synchronen Methoden, die geändert werden müssen, und verwenden Sie dann den GitHub Copilot Bearbeitungsmodus mit einer klaren Anweisung wie:

prompt Convert all of these methods to use async/await with Task return types, including updating service calls.

Überprüfen Sie die vorgeschlagenen Änderungen, bestätigen Sie, dass async/await konsistent angewendet wurde, und führen Sie Ihre Integrationstests durch, um die Änderung zu validieren.

Zusammenfassung

Der Bearbeitungsmodus wendet schnell ein konsistentes asynchrones Muster auf alle verwandten Methoden an und reduziert so die manuelle Arbeit und das Risiko verpasster Aktualisierungen.

Service-Logik aus einem Controller extrahieren

Szenario Nach der Konvertierung des FlightsController in async/await sind einige Geschäftsregeln immer noch im Controller selbst verborgen. So könnte die Aktion AddFlight beispielsweise Eingaben validieren, eine geschätzte Ankunft berechnen und Aktivitäten protokollieren, bevor sie im Repository gespeichert werden. Wenn all dies im Controller verbleibt, ist der Code schwieriger zu pflegen und zu testen. Die Auslagerung in eine FlightService-Klasse verbessert die Trennung der Bereiche und sorgt dafür, dass sich der Controller auf die HTTP-Verarbeitung konzentriert.

Komplettlösung

Öffnen Sie die Datei FlightsController.cs und suchen Sie nach einer Methode, die Validierung, Berechnungen und Repository-Aufrufe miteinander kombiniert. Markieren Sie den Hauptteil der Methode und verwenden Sie dann den GitHub Copilot Bearbeitungsmodus mit einer Anweisung wie:

prompt Move this logic into a new async method in FlightService called AddFlightAsync, and call it from here.

Überprüfen Sie die generierten Änderungen. Die Controller-Methode sollte nun an den Service delegieren, während der FlightService die extrahierte Logik enthält. Der aktualisierte Controller könnte zum Beispiel wie folgt aussehen:

csharp public async Task<IActionResult> AddFlight(Flight flight) { var result = await _flightService.AddFlightAsync(flight); return result; }

Und die neue Servicemethode könnte die Validierungs- und Repository-Aufrufe enthalten, die zuvor im Controller enthalten waren. Führen Sie an diesem Punkt Ihre Tests durch. Die Funktionalität sollte die gleiche bleiben, aber die Struktur wurde verbessert: Der Controller ist schlanker und der Dienst besitzt die Geschäftsregeln.

Zusammenfassung Die Trennung von Anliegen verbessert die Testbarkeit und hält die Controller schlank. Dies ist ein wichtiger Anwendungsfall für den GitHub Copilot Bearbeitungsmodus. Mit einer einzigen gezielten Anweisung können Sie die Geschäftslogik in einen eigenen Dienst verschieben, so dass der Code einfacher zu testen und zu pflegen ist, ohne dass Sie jeden Teil manuell neu schreiben müssen.

XML-Dokumentation zu einem C#-Modell hinzufügen

Szenario Das Projekt Gebrüder Wright enthält Domänenmodelle wie Flugzeug, Pilot, Flugplatz und Flug. Sie sind funktional, aber undokumentiert. Ohne XML-Dokumentation verlieren die Entwickler den Vorteil von IntelliSense-Tooltips, konsistenten API-Dokumenten und Anleitungen für zukünftige Entwickler. Das Hinzufügen von strukturierten Kommentaren macht die Arbeit mit dem Code einfacher und professioneller.

Komplettlösung

Öffnen Sie Plane.cs und markieren Sie die Klasse zusammen mit ihren öffentlichen Eigenschaften. Verwenden Sie bei aktiver Auswahl den GitHub Copilot Bearbeitungsmodus und geben Sie eine klare Anweisung wie z.B.:

prompt Add XML documentation comments to this public class, its constructors, and all public properties. Use aviation terms like airframe hours and service ceiling where relevant. Keep summaries concise and under two sentences.

Überprüfen Sie die vorgeschlagenen Änderungen. GitHub Copilot fügt

Tags über der Klasse, den Konstruktoren und den Eigenschaften ein. Zum Beispiel kann die Eigenschaft ServiceCeilingFeet einen Kommentar wie diesen erhalten:

xml /// <summary> /// Certified service ceiling in feet above mean sea level. /// </summary> public int ServiceCeilingFeet { get; set; }

Überfliegen Sie die generierten Kommentare, um sicherzustellen, dass die Terminologie zu Ihrer Domain passt. Wenn Sie "Schwanznummer" statt "Registrierung" verwenden oder kürzere Texte in den Tooltips wünschen, passen Sie diese entsprechend an.

Zusammenfassung

Der Bearbeitungsmodus erleichtert das Hinzufügen einer konsistenten XML-Dokumentation in einem Durchgang und erspart Ihnen so das wiederholte Eintippen. Sie behalten die Kontrolle über den Wortlaut, aber das Tool kümmert sich um die Struktur und Formatierung. Wenn Sie mit dem Muster zufrieden sind, können Sie die gleiche Aufforderung auf andere Modelle anwenden, so dass Ihr gesamtes Projekt einem einheitlichen Dokumentationsstil folgt.

Eine wiederverwendbare Schaltfläche zum Hinzufügen von Flugzeugen erstellen (React)

Szenario In vielen Anwendungen benötigen Sie eine konsistente Möglichkeit, eine Backend-Operation von der Benutzeroberfläche aus auszulösen. Im Projekt der Gebrüder Wright könnte das das Hinzufügen eines neuen Flugzeugs zur Flotte bedeuten. Anstatt die Abruflogik auf mehreren Seiten zu duplizieren, ist es sinnvoller, eine wiederverwendbare AddPlaneButton React-Komponente zu erstellen. Sie kann optionale Vorgaben übernehmen, Netzwerkaufrufe verarbeiten und ihre Eltern benachrichtigen, wenn das neue Flugzeug erstellt wurde.

Komplettlösung

Beginnen Sie mit der Erstellung einer neuen Datei, AddPlaneButton.tsx, in Ihrem Komponentenordner. Wenn Sie die leere Datei geöffnet haben, verwenden Sie den Bearbeitungsmodus von GitHub Copilot und geben Sie eine klare Aufforderung wie z.B.:

prompt Create a reusable React component named AddPlaneButton in TypeScript. Props: defaultRegistration?: string, defaultModel?: string, defaultYear?: number, onAdded?: (plane: Plane) => void. The button should post to /api/planes using fetch with JSON, disable itself while submitting, and show an error message if the request fails.

Überprüfen Sie die Ausgabe. GitHub Copilot wird in der Regel eine funktionale Komponente mit useState für das Laden und die Fehlerbehandlung sowie einen Fetch-Aufruf an das Backend generieren. An diesem Punkt können Sie den generierten Code mit kleineren, gezielten Aufforderungen verfeinern. Wenn die Schaltfläche z. B. nicht barrierefrei ist, markieren Sie sie und führen Sie sie aus:

prompt Improve accessibility by adding aria-busy while loading and aria-live="polite" for the error message.

Wenn Sie die Abruflogik von der Benutzeroberfläche getrennt halten möchten, markieren Sie den Netzwerkcode und verwenden Sie erneut den Bearbeitungsmodus:

prompt Extract the fetch call into a helper function createPlane(input: Partial<Plane>): Promise<Plane> in src/api/planes.ts. Import and use this helper in AddPlaneButton.

Schließlich verdrahten Sie den onAdded-Callback, damit jede übergeordnete Komponente, die diese Schaltfläche verwendet, ihren Status aktualisieren kann, nachdem ein neues Flugzeug erstellt wurde. Wenn GitHub Copilot dies im ersten Durchgang nicht berücksichtigt hat, markieren Sie den Click-Handler und fragen Sie nach:

prompt After a successful POST, if onAdded is provided, call onAdded with the created plane.

Jetzt haben Sie ein wiederverwendbares Steuerelement, das andere Seiten ohne doppelte Logik verwenden können. Fügen Sie das Steuerelement in Ihre Seite mit der Liste der Flugzeuge ein, geben Sie, falls gewünscht, Standardwerte für die Registrierung oder das Modell ein und verarbeiten Sie den onAdded-Callback zur Aktualisierung der Benutzeroberfläche.

Zusammenfassung Die Erstellung eines wiederverwendbaren UI-Controls erfordert oft mehr als einen Durchgang. Mit dem GitHub Copilot Bearbeitungsmodus funktioniert es am besten, zuerst die Grundlagen zu schaffen und dann in kleineren, gezielten Iterationen zu verfeinern. Eine Eingabeaufforderung behandelt die ursprüngliche Komponente, eine andere verbessert die Zugänglichkeit und eine weitere extrahiert die Hilfslogik. Dieser schrittweise Ansatz sorgt dafür, dass sich die KI auf das Wesentliche konzentriert, vermeidet, dass sie mit einer einzigen großen Anfrage überfordert wird, und gibt Ihnen eine bessere Kontrolle über die Änderungen. Das Endergebnis ist eine saubere, wiederverwendbare Komponente, die sich nahtlos in den Rest Ihres Projekts einfügt.

Weitere Möglichkeiten zur Verwendung des Bearbeitungsmodus

Nicht jede Verwendung des Bearbeitungsmodus erfordert einen vollständigen Durchgang. Manchmal reicht eine einzige, gezielte Aufforderung aus, um den Code zu modernisieren oder mit den Teamstandards in Einklang zu bringen. Hier sind zwei Beispiele, bei denen eine gezielte Anweisung Sie vor wiederholten Bearbeitungen bewahren kann.

Refaktorieren Sie einen React Data Fetch zu react-query

Szenario

Eine Komponente im Projekt der Gebrüder Wright holt Flüge mit useEffect und manueller Statusverwaltung ab. Das funktioniert, aber es dupliziert Boilerplate und profitiert nicht vom Caching.

Komplettlösung

Öffnen Sie die Komponente, markieren Sie den useEffect-Block und seine Zustandsvariablen und starten Sie dann den GitHub Copilot-Bearbeitungsmodus mit einer klaren Anweisung wie dieser:

prompt Replace this manual fetch logic with @tanstack/react-query useQuery. Create a flights query keyed by ["flights"] that fetches GET /api/flights. Remove local isLoading and error state in favor of useQuery results. Keep TypeScript types strict.

GitHub Copilot tauscht den Fetch-Aufruf gegen einen useQuery-Hook aus und entfernt überflüssigen Status. Prüfen Sie die Differenz, bestätigen Sie, dass der Abfrageschlüssel zu Ihrer Caching-Strategie passt und passen Sie die Typ-Importe nach Bedarf an.

Zusammenfassung Diese Art des gezielten Refactorings eignet sich gut für den Bearbeitungsmodus. Anstatt die Abruflogik in mehreren Komponenten neu zu schreiben, können Sie mit einer präzisen Aufforderung einen modernen, standardisierten Ansatz verfolgen.

Beheben Sie Frontend-Lint-Probleme und übernehmen Sie moderne Regeln

Szenario

Nach der Verschärfung der ESLint-Regeln entsprechen viele Dateien im Projekt nicht mehr den Regeln. Diese von Hand zu korrigieren ist mühsam, vor allem wenn es sich um sich wiederholende Syntax- oder Formatierungsänderungen handelt.

Komplettlösung

Öffnen Sie eine Datei mit Verstößen, markieren Sie die gesamte Datei oder bestimmte Abschnitte und bitten Sie den GitHub Copilot-Bearbeitungsmodus, die Datei in Übereinstimmung zu bringen. Zum Beispiel:

prompt Apply changes to satisfy eslint and typescript-eslint: - Convert implicit any to explicit types, - Replace default exports with named exports, - Fix react-hooks exhaustive-deps warnings by stabilizing callbacks or listing correct deps. Do not alter code behavior.

Copilot bereinigt den Code, ersetzt Standard-Exporte, korrigiert Abhängigkeits-Arrays und fügt bei Bedarf Typ-Annotationen hinzu. Führen Sie Ihren Linter erneut aus und wiederholen Sie den Vorgang in Stapeln von Dateien, bis das Projekt sauber ist.

Zusammenfassung Eingeschränkte Korrekturen wie Lint-Bereinigungen eignen sich hervorragend für den Bearbeitungsmodus. Eine gut formulierte Eingabeaufforderung kann Dutzende von Verstößen in einem Durchgang beheben, so dass Sie die Änderungen überprüfen können, anstatt von Hand nach Fehlern zu suchen.

Effektive Editieranregungen schreiben

Der GitHub Copilot Bearbeitungsmodus wird genau das tun, worum Sie bitten - aber nur, wenn Ihre Anfrage klar und deutlich formuliert ist. Eine vage Aufforderung wie "Reparieren Sie das" lässt zu viel Raum für Interpretationen, während eine präzise Anweisung zu Ergebnissen führt, denen Sie vertrauen können.

Komplettlösung Die effektivsten Eingabeaufforderungen für den Bearbeitungsmodus erfüllen in der Regel drei Aufgaben:

  1. Geben Sie das Ziel und alle Einschränkungen an. Sagen Sie dem Tool, welches Ergebnis Sie erwarten und welche Grenzen es einhalten muss. Beispiel:

Convert these synchronous methods to async/await with Task return types. Do not change method names or parameters. Follow existing naming conventions for async methods.

  1. Verwenden Sie die Sprache und die Domäne des Projekts. Wenn Ihr Projekt bestimmte Begriffe verwendet, sollten Sie diese einfügen, damit die Ausgabe konsistent ist. Beispiel:

Add XML documentation to this class and its public members. Use aviation terms like airframe hours and service ceiling where relevant. Keep summaries under two sentences.

  1. Keep edits small and iterative Break down big changes into a series of smaller prompts. You’ll get cleaner diffs and more predictable results. Example sequence for a React refactor:
    • Ersetzen Sie manuelles Abrufen durch react-query.
    • Extrahieren Sie den API-Aufruf in eine Hilfsfunktion.
    • Verbessern Sie die Zugänglichkeit und die Fehlerbehandlung.

Zusammenfassung

Sie brauchen keine komplizierte Formel, um Prompts für den Bearbeitungsmodus zu schreiben. Ein klares Ziel, eine einheitliche Sprache und kleinere, iterative Durchgänge reichen aus, um GitHub Copilot zu einem zuverlässigen Partner beim Refactoring zu machen.

Wie sich der Bearbeitungsmodus in einen umfassenderen KI-unterstützten Workflow einfügt

Der Bearbeitungsmodus glänzt, wenn Sie ihn mit den anderen Teilen von GitHub Copilot kombinieren. Verwenden Sie den Fragemodus, um das Problem zu verstehen, verwenden Sie den Bearbeitungsmodus, um präzise Änderungen vorzunehmen, und schalten Sie dann den Agentenmodus ein, wenn Sie koordinierte Aktualisierungen für Dateien oder unterstützende Aufgaben wie Tests und Skripte benötigen.

Durchgehen 1. beginnen Sie mit dem Fragemodus, um sich zu orientieren. Fragen Sie zum Beispiel, wie die Flugplanung den Wartungsstatus im Projekt der Gebrüder Wright überprüft. Lassen Sie sich von der Erklärung auf den Controller und den Service verweisen, auf die es ankommt. 2. Wechseln Sie in den Bearbeitungsmodus, sobald der Umfang klar ist. Markieren Sie die betreffende Methode und fordern Sie eine gezielte Änderung an, z.B. die Überprüfung, dass ein Flugzeug keine aktiven Wartungseinträge hat, bevor Sie es einplanen. Überprüfen Sie die Differenz, führen Sie Ihre Tests durch und bestätigen Sie. 3. Wechseln Sie in den Agentenmodus, wenn die Änderung Auswirkungen auf die anderen Bereiche hat. Lassen Sie den Agenten Integrationstests hinzufügen oder aktualisieren, Seed-Daten anpassen oder verwandte Dateien wie ein Client-SDK berühren. Lassen Sie ihn die Schritte ausführen, Sie genehmigen die Änderungen trotzdem.

Zusammenfassung

Behandeln Sie die Modi wie ein Relais. Der Fragemodus klärt auf, der Bearbeitungsmodus wendet die gewünschte Änderung an und der Agentenmodus skaliert sie auf die gesamte Codebasis. So bleiben Sie schnell, ohne die Kontrolle zu verlieren.

Einschränkungen und Dinge, auf die Sie achten sollten

Der GitHub Copilot Bearbeitungsmodus ist zuverlässig, wenn Sie ihm den richtigen Kontext geben, aber es gibt auch Grenzen, die Sie beachten sollten. Die folgenden Punkte helfen Ihnen, Überraschungen zu vermeiden.

Watch-outs

  • Umfangsbewusstsein. Das Tool bearbeitet das, was Sie auswählen oder was im Kontext sichtbar ist. Zugehörige Dateien werden nicht geändert, es sei denn, Sie fragen danach.
  • Versteckte Abhängigkeiten. Ein sicher aussehender Refactor kann Aufrufer oder Seiteneffekte an anderer Stelle übersehen. Suchen Sie nach Referenzen und führen Sie Tests durch, nachdem Sie einen Diff akzeptiert haben.
  • Form der Aufforderung. Zu vage lädt zu umfangreichen Änderungen ein, zu enge lassen die Arbeit unvollendet. Nennen Sie das Ziel und die Einschränkungen, dann iterieren Sie.
  • Verhaltensdrift. Forderungen wie "Refactor ohne Änderung des Verhaltens" müssen noch genau geprüft werden. Lesen Sie das Diff, insbesondere in Bezug auf Konditionale und Fehlerbehandlung.
  • Modell- und Größenbeschränkungen. Sehr große Dateien oder umfangreiche Anfragen können die Kontextgrenzen überschreiten. Teilen Sie die Arbeit in kleinere Durchgänge auf, um vorhersehbare Ergebnisse zu erzielen.

Zusammenfassung

Der Bearbeitungsmodus ist leistungsstark, aber nicht magisch. Wählen Sie genügend Kontext, schreiben Sie klare Anweisungen, überprüfen Sie Diffs und führen Sie Tests durch. Kleine, überprüfbare Durchläufe sorgen dafür, dass Änderungen sicher und wartbar sind.

Fazit

Refactoring ist die Art von Arbeit, die leicht aufgeschoben werden kann, aber entscheidend für ein gesundes Projekt ist. Der Copilot-Bearbeitungsmodus von GitHub ist kein Ersatz für eine gute technische Praxis, sondern ein schärferes Werkzeug für diese Arbeit. Anstatt die gleichen Codemuster von Hand neu zu schreiben, können Sie die gewünschte Änderung formulieren, sie vom Tool vorschlagen lassen und dann mit Ihrer vollen Aufmerksamkeit überprüfen und testen.

In den Projektbeispielen der Gebrüder Wright zeigte der Bearbeitungsmodus seine ganze Bandbreite: Konvertieren von Controllern in async/await, Verschieben von Geschäftsregeln in Dienste, Hinzufügen von XML-Dokumentation und Erstellen einer wiederverwendbaren UI-Schaltfläche. Jede Aufgabe begann mit einer klaren Anweisung und endete mit einem gezielten Diff, das leicht zu akzeptieren oder zu verfeinern war. Die mühsamen Teile kurz und vorhersehbar zu halten, ist hier der wahre Wert.

Im Großen und Ganzen gehört der Bearbeitungsmodus in einen Workflow neben dem Fragemodus und dem Agentenmodus. Der Fragemodus hilft Ihnen zu verstehen, was Sie ändern wollen, der Bearbeitungsmodus wendet es sauber an und der Agentenmodus kann sich um die umliegenden Arbeiten wie Tests und Anpassungen an mehreren Dateien kümmern. Wenn Sie diese Modi zusammen verwenden, können Sie schnell vorankommen, ohne das Vertrauen in Ihre Codebasis zu verlieren.

Letzter Gedanke: Die Stärke des Bearbeitungsmodus liegt nicht in auffälligen Einzeilern oder riesigen Verwandlungen. Sie liegt im Rhythmus der kleinen, präzisen Aufforderungen, die Sie vorwärts bringen, ohne den Fluss zu unterbrechen. Behandeln Sie ihn wie einen erfahrenen Teamkollegen, den Sie mit Kontext und Klarheit anleiten, und Sie werden feststellen, dass das Refactoring schneller und sicherer wird und Sie es viel seltener aufschieben werden.

Verfasst von

Randy Pagels

I am a DevOps Architect and Trainer at Xebia USA. I lead and educate customers in designing and implementing solutions that adhere to industry standards and DevOps best practices.

Contact

Let’s discuss how we can support your journey.