Omstrukturer store funktioner ved hjælp af GitHub Copilots agenttilstand

Fuldført

Brug af GitHub Copilots agenttilstand er som at have en assistent, der altid er der for at hjælpe dig med at udvikle og vedligeholde din kode.

I Helpdesk-medarbejdertilstand tildeler du opgaver til GitHub Copilot ved hjælp af prompter på naturligt sprog i chatpanelet. GitHub Copilot begynder med at analysere din kodebase ved hjælp af den tildelte opgave til at etablere den nødvendige kontekst. Helpdesk-medarbejderen genererer en plan for udførelse af opgaven og viser listen over de påkrævede underopgaver. Den åbner og redigerer derefter de tilknyttede filer i kodeeditoren. Agenten fuldfører analysen, planlægningen og implementeringen autonomt og giver en løbende kommentar i chatpanelet, så du kan overvåge dens fremskridt. Om nødvendigt beder agenten om afklaring, yderligere oplysninger eller tilladelse til at fortsætte med en bestemt handling. Når helpdesk-medarbejderen har fuldført opgaven, kan du gennemgå ændringerne og godkende (eller afvise) de enkelte ændringer. Du bevarer kontrollen gennem hele processen.

Bedste praksis

Overvej disse tips for at få mest muligt ud af agenttilstand:

  • Opdel refactoring i små trin.
  • Gennemgå hver ændring omhyggeligt.
  • Kompiler og test efter hvert trin.

Almindelige refactoring-kommandoer

Her er nogle eksempler på prompter til almindelige refactoring-opgaver:

  • "Uddrag den valgte valideringskode til en ny privat metode navngivet ValidateOrder , der tager en ordreparameter og returnerer en bool. Sørg for, at al valideringslogik flyttes, og at det oprindelige kaldssted bruger returværdien korrekt."
  • "Gennemgå den valgte kode. Identificer og udtræk al logik for gentagne momsberegninger i en ny privat statisk metode CalculateTax , der tager de nødvendige parametre (amount, taxRate, region) og returnerer det beregnede momsbeløb. Erstat alle dublerede beregninger med kald til denne metode."
  • "Gennemgå den valgte kode. Konverter denne if/else-kæde til et moderne switch-udtryk, og sørg for, at alle sager er dækket, og logikken forbliver ækvivalent. Brug mønstermatchning, hvor det er relevant, og bevar den samme returtype."
  • "Gennemgå den valgte kode. Udtræk alle prissætnings- og totalberegninger til en ny privat metode ComputeTotals , der tager en ordreparameter, udfører alle beregninger og opdaterer ordrens samlede egenskaber. Sørg for, at der ikke forbliver nogen beregningslogik i den oprindelige metode."

Eksempel på arbejdsproces

Antag, at du har en stor funktion ProcessOrder , der håndterer ordrebehandling, herunder validering, prisberegninger, lagring i databasen og afsendelse af meddelelser. Funktionen er over 200 linjer lang og skal nedbrydes.

Du kan bruge følgende trin til at omstrukturere funktionen:

  1. Uddrag det første segment:

    "Uddrag inputvalideringen øverst ProcessOrder i en ny metode ValidateOrder(order) , der returnerer bool."

  2. Uddrag det andet segment:

    "Flyt prisberegningerne til en ny metode ComputeTotals(order) , der opdaterer order.Total."

  3. Håndter resterende logik:

    Uddrag gemme- og meddelelseslogik på samme måde, eller lad den være i hovedfunktionen, hvis den nu er kort og klar.

  4. Ryd op:

    Omdøb variabler, fjern ubrugt kode, og sørg for konsistens.

Anvend forslag til Spørg-tilstand

Brug Spørg-tilstands opdeling til at guide Agent-tilstand:

  • Gennemgå den plan, der foreslås af Spørg-tilstand, og dine opfølgende spørgsmål.
  • Formuler en endelig refaktoriseringsplan for Helpdesk-medarbejdertilstand.
  • Brug analysen fra Spørg-tilstand til at oprette en række klare, specifikke prompter til Helpdesk-medarbejdertilstand. Brug foreslåede funktionsnavne og parameterlister i dine prompter, hvor det er relevant.

Tips

Behandl Agent-tilstand som en juniorudvikler på dit team. Giv klare instruktioner, gennemgå deres arbejde, og ret efter behov.

Hvad du skal holde øje med under din gennemgang

Gennemgå altid de ændringer, der er foretaget af agenten. Overvej følgende tjekliste:

  • Logisk bevarelse: Sørg for, at ingen adfærd ændres.
  • Håndtering af parametre: Copilot kan glemme at bestå en nødvendig variabel.
  • Navngivning og adgangsmodifikatorer: Bekræft, at de matcher din kodebasetypografi.
  • Manglende linjer: Hvis Copilot springer en linje over, skal du flytte den manuelt eller spørge igen.

Administrer uventede resultater

Når helpdesk-medarbejderen genererer et resultat, der ikke er, hvad du forventede:

  • Fortryd ændringen, eller fortryd filen.
  • Prøv et mindre trin eller en mere præcis prompt.
  • Løs mindre problemer manuelt, eller bed Copilot om at rette dem.

Resumé

Brug af GitHub Copilots agenttilstand strømliner processen med at refaktorere store funktioner. Ved at opdele opgaven i håndterbare trin og bruge prompter på naturligt sprog bevarer du kontrollen, samtidig med at agenten kan håndtere de tunge løft. Gennemgå altid ændringer omhyggeligt for at sikre kodekvalitet og logisk integritet.