Undersøg GitHub Copilot bedste praksis

Fuldført

De GitHub Copilot udvidelser til Visual Studio Code hjælper udviklere med at skrive kode hurtigere og med færre fejl.

Men GitHub Copilot er en AI-parprogrammør, er det ikke en programmør. For at få mest muligt ud af GitHub Copilot værktøjer skal du følge bedste praksis.

Vælg det rigtige GitHub Copilot værktøj til opgaven

Selvom GitHub Copilot's kodefuldførelsesfunktioner og GitHub Copilot's chatfunktioner deler nogle funktioner, er de to værktøjer bedst brugt i forskellige situationer.

Kodefuldførelser giver den største værdi, når de bruges til at:

  • Fuldfør kodestykker, variabelnavne og funktioner, mens du skriver dem.
  • Generér gentagen kode.
  • Generér kode ud fra indbyggede kommentarer på et naturligt sprog.
  • Generér test til testbaseret udvikling.

Alternativt giver GitHub Copilot's chatfunktioner mest værdi, når de er vant til:

  • Besvar spørgsmål om kode på et naturligt sprog.
  • Generér store kodesektioner, og gengiv derefter koden for at opfylde dine behov.
  • Udføre bestemte opgaver med nøgleord og færdigheder. GitHub Copilot Chat bruger indbyggede nøgleord (og færdigheder designet til at give vigtig kontekst) i prompts for hurtigt at løse almindelige opgaver. Forskellige typer nøgleord og færdigheder er tilgængelige på forskellige GitHub Copilot chatplatforme.
  • Fuldfør en opgave som en bestemt person. For eksempel kan du fortælle GitHub Copilot Chat, at det er en Senior C++-udvikler, der går meget op i kodekvalitet, læsbarhed og effektivitet. Efter at have etableret personaen, kan du bede GitHub Copilot om at gennemgå din kode.

Få mest muligt ud af GitHub Copilot inline forslag

GitHub Copilot-udvidelsen præsenterer automatisk forslag for at hjælpe dig med at kode mere effektivt. GitHub Copilot giver bedre forslag, når du følger bestemte handlinger og adfærd. Du følger muligvis allerede nogle af disse handlinger og funktionsmåder, da de også hjælper dig og dine kolleger med at forstå din kode.

Giv kontekst til GitHub Copilot

GitHub Copilot fungerer bedst, når det har tilstrækkelig kontekst til at vide, hvad du laver, og hvad du ønsker hjælp til. Ligesom du giver en kollega relevant kontekst, når du beder om hjælp, skal du give GitHub Copilot kontekst.

Åbn filer

For kodefuldførelser kigger GitHub Copilot på filerne, der er åbne i din editor for at skabe kontekst og skabe passende forslag. At have relaterede filer åbne i Visual Studio Code mens du bruger GitHub Copilot hjælper med at definere konteksten og giver GitHub Copilot mulighed for at se det større billede af dit projekt.

Kommentar på øverste niveau

Ligesom du ville give en kort, overordnet introduktion til en kollega, kan en kommentar på øverste niveau i en kodefil hjælpe GitHub Copilot med at forstå den overordnede kontekst for den kode, du skaber.

Relevante inkluderer og referencer

Det er bedst manuelt at angive de "include"-referencer eller modulreferencer, du skal bruge til dit arbejde. GitHub Copilot kan komme med forslag, men du ved sandsynligvis bedst, hvilke afhængigheder du skal inkludere. Dette kan også give GitHub Copilot information om de frameworks, biblioteker og deres versioner, du gerne vil have den til at bruge, når du laver forslag.

Meningsfulde funktionsnavne

Ligesom en metode kaldet fetchData() ikke vil betyde meget for en kollega (eller dig efter flere måneder), vil fetchData() ikke hjælpe GitHub Copilot med at forstå din kode. At bruge meningsfulde funktionsnavne hjælper GitHub Copilot med at generere forslag, der gør det, du ønsker.

Specifikke og velomfangede funktionskommentarer

Et funktionsnavn kan kun være så beskrivende uden at være alt for langt. Kommentarerne til funktionen kan hjælpe med at udfylde detaljer, som GitHub Copilot måske har brug for at vide.

Prime GitHub Copilot med eksempelkode

Et trick til at få GitHub Copilot på den rigtige side er at kopiere og indsætte ønskede kodeeksempler i en åben editor-fane. Eksemplet skal repræsentere den kode, du ønsker, at GitHub Copilot skal emulere. At give et eksempel kan hjælpe GitHub Copilot med at generere forslag, der matcher det sprog og de opgaver, du ønsker, det skal efterligne. Når GitHub Copilot har hjulpet dig med at lave kode, der matcher dit mål, kan du slette eksempelkoden. Denne tilgang er især nyttig, når du skal "træne" GitHub Copilot. For eksempel, antag GitHub Copilot som standard foreslår kodeudklip, der implementerer en ældre version af et bibliotek. Du kan indsætte kode i dit projekt, der bruger den nyeste version af biblioteket. Dette hjælper GitHub Copilot med at begynde at foreslå kodeuddrag, der bruger den nyeste version af biblioteket. Når GitHub Copilot har lært at bruge den nye biblioteksversion, kan du slette prøvekoden.

Vær konsistent, og hold kvalitetsbjælken høj

GitHub Copilot vil hæfte sig til din kode for at generere forslag, der følger det eksisterende mønster, så ordsproget "garbage in, garbage out" gælder.

Altid at holde en høj kvalitet bar kan tage disciplin. Især når du koder hurtigt og løst for at få noget til at fungere. Du vil måske deaktivere GitHub Copilot fuldførelser, mens du er i "hacking"-tilstand. Du kan midlertidigt deaktivere fuldførelser fra GitHub Copilot statusmenu (tilgængelig fra Visual Studio Code's statuslinje).

Få mest muligt ud af GitHub Copilot Chat

Når du bruger GitHub Copilot's chatfunktioner, er der flere ting, du kan gøre for at optimere din oplevelse.

Start generelt, og hent derefter specifikke

Når du skriver en prompt til GitHub Copilot, skal du først give GitHub Copilot en bred beskrivelse af målet eller scenariet. Angiv derefter eventuelle specifikke krav. Overvej følgende prompter:

  1. Skriv en funktion, der fortæller mig, om et tal er primtal.
  2. Funktionen skal tage et heltal og returnere true, hvis heltalet er primtal.
  3. Funktionen skal udløse en fejl, hvis inputtet ikke er et positivt heltal.

Giv eksempler

Brug eksempler til at hjælpe GitHub Copilot med at forstå, hvad du ønsker. Du kan angive eksempelinputdata, eksempeloutput og eksempelimplementeringer.

Opdel komplekse opgaver i enklere opgaver

Hvis du vil have, at GitHub Copilot skal udføre en kompleks eller stor opgave, så opdel opgaven i flere simple, små opgaver. For eksempel, i stedet for at bede GitHub Copilot om at lave et ordsøgningspuslespil, så opdel processen i mindre opgaver og bed GitHub Copilot om at løse dem én ad gangen:

  1. Skriv en funktion for at generere et 10- eller 10-gitter med bogstaver.
  2. Skriv en funktion for at finde alle ord i et gitter med bogstaver med en liste over gyldige ord.
  3. Skriv en funktion til , der bruger de forrige funktioner til at generere et 10-10-gitter med bogstaver, der indeholder mindst 10 ord.
  4. Opdater den forrige funktion for at udskrive gitteret med bogstaver og 10 tilfældige ord fra gitteret.

Undgå flertydighed

Undgå tvetydige ord. For eksempel, spørg ikke "hvad gør dette", når "dette" kan være den aktuelle fil, det sidste GitHub Copilot svar eller en specifik kodeblok. I stedet for at bruge tvetydige ord skal du være specifik: Hvad gør funktionen createUser?

Angiv relevant kode

Hvis du bruger GitHub Copilot Chat i dit IDE, så åbn filen/filerne eller marker den kode, du vil have GitHub Copilot til at referere til. Brug chatdeltagere, skråstregskommandoer og chatvariabler i prompter til at definere kontekst. For eksempel skal du angive, hvilke filer GitHub Copilot Chat skal referere til.

Brug chatdeltagere, skråstregskommandoer og chatvariabler

Chatdeltagere er designet til at indsamle ekstra kontekst enten om en kodebase eller et bestemt domæne eller en bestemt teknologi. Når du angiver den relevante deltager, kan GitHub Copilot Chat finde og give bedre information, som kan sendes til GitHub Copilot backend. For eksempel kan du bruge @workspace, når du stiller spørgsmål om dit åbne projekt, eller @vscode, når du stiller spørgsmål om Visual Studio Code funktioner og API'er.

Skråstregkommandoer hjælper GitHub Copilot Chat med at forstå din hensigt, når du stiller et spørgsmål. Lærer du om en kodebase (/explain), vil du have hjælp til at løse et problem (/fix), eller laver du testcases (/tests)? Ved at lade GitHub Copilot Chat vide, hvad du prøver at gøre, kan den justere sit svar på din opgave og give nyttige kommandoer, indstillinger og kodeuddrag.

Chatdeltagere, såsom @workspace eller @vscode, kan bidrage med chatvariabler, der giver domænespecifik kontekst. Du kan referere til en chatvariabel i din chatprompt ved at bruge symbolet # . Du kan bruge chatvariabler til at være mere specifikke for konteksten for din prompt.

For eksempel lader chatvariablen #file dig referere til specifikke filer fra dit arbejdsområde i din chatprompt. Dette hjælper med at gøre svarene fra GitHub Copilot Chat mere relevante for din kode ved at give kontekst om den fil, du arbejder med. Du kan stille spørgsmål som "Can you suggest improvements to #file:package.json?" eller "How do I add an extension in #file:devcontainer.json?". At bruge variablen #file kan hjælpe dig med at få mere målrettede og præcise svar fra GitHub Copilot.

Eksperimentér og gentagelse

Hvis du ikke får det ønskede resultat, skal du gentage i prompten og prøve igen. Reference til det forrige svar i din næste anmodning. Du kan også slette det forrige svar og starte forfra.

Bevar historikken som relevant

GitHub Copilot Chat bruger chathistorikken til at få kontekst om din anmodning. For at sikre, at GitHub Copilot bruger en relevant chathistorik:

  • Brug tråde til at starte en ny samtale for en ny opgave.
  • Slet anmodninger, der ikke længere er relevante, eller som ikke gav dig det ønskede resultat.

Følg gode kodningspraksisser

Hvis du ikke får de svar, du ønsker, når du beder GitHub Copilot om forslag, så sørg for, at din eksisterende kode følger best practices og er let at læse. For eksempel:

  • Brug en ensartet kodetypografi og mønstre.
  • Brug beskrivende navne til variabler og funktioner.
  • Kommenter din kode.
  • Strukturer din kode i modulopbyggede komponenter.
  • Medtag enhedstests.

Resumé

GitHub Copilot er et kraftfuldt værktøj, der kan hjælpe dig med at skrive kode hurtigere og med færre fejl. Men for at få mest muligt ud af GitHub Copilot, skal du følge bedste praksis. Ved at vælge det rigtige GitHub Copilot værktøj til opgaven, give kontekst og følge gode kodningspraksisser kan du optimere din oplevelse med GitHub Copilot.