Øg udviklerproduktiviteten med KUNSTIG INTELLIGENS

Fuldført

Diagram over metallisk version af GitHub Copilot Icon med sort baggrund.

I dette undermodul undersøger vi, hvordan GitHub Copilot strømliner udviklingsarbejdsprocesser, så udviklere kan fokusere på at løse komplekse problemer i stedet for at blive kørt fast i rutinekodningsopgaver.

Når du er færdig med dette undermodul, kan du:

  • Forstå, hvordan AI-drevne værktøjer som GitHub Copilot kan reducere gentagne kodningsbestræbelser.
  • Identificer nøgleområder i din arbejdsproces, hvor GitHub Copilot kan gøre den største forskel.

Almindelige ai-use cases til strømlining af udviklerproduktivitet

GitHub Copilot tilbyder mange måder at fremskynde og forenkle almindelige udviklingsopgaver på. Lad os undersøge nogle vigtige områder, hvor GitHub Copilot viser sig at være særligt gavnlig:

Sæt fart på læringen om nye programmeringssprog og -strukturer

Det kan være en udfordring at lære nye programmeringssprog eller -strukturer, men GitHub Copilot gør denne proces mere smidig og hurtigere, så udviklere hurtigt kan forstå nye begreber og anvende dem i praksis. GitHub Copilot hjælper med at bygge bro mellem læring og faktisk implementering gennem:

  • Forslag til kode: Giver kontekstafhængige kodestykker forslag, der illustrerer brugen af ukendte funktioner og biblioteker, og guider udviklere om korrekt brug og implementering, når de arbejder med nye strukturer.
  • Sprogunderstøttelse: Understøtter en lang række sprog, hvilket hjælper dig med at skifte problemfrit fra ét sprog til et andet.
  • dokumentationsintegration: GitHub Copilot reducerer behovet for konstant at henvise til ekstern dokumentation ved at angive indbyggede forslag, der er relateret til API-forbrug og funktionsparametre.

Lad os se på et eksempel. Forestil dig, at du arbejder på et Golang-projekt på et sprog, du ikke kender. GitHub Copilot kan generere koden for dig. Du kan derefter bruge indstillingen "Forklar dette" i genvejsmenuen til at forklare, hvad koden gør.

Skærmbillede af Accelereret læring.

Minimerer kontekstskift

Kontekstskift er et betydeligt produktivitetsdræn for udviklere og kan forstyrre din arbejdsproces og reducere fokus. GitHub Copilot hjælper med at bevare fokus ved at levere relevante kodeforslag i din aktuelle kontekst, så du kan koncentrere dig om at løse komplekse problemer. Følgende er måder, hvorpå GitHub Copilot hjælper med at opnå dette:

  • hjælp i editoren: GitHub Copilot indeholder kodeforslag direkte i IDE'et, så behovet for at søge efter løsninger online minimeres.
  • Hurtige referencer: Når gitHub Copilot arbejder med API'er eller biblioteker, kan den foreslå korrekte metodekald og -parametre, hvilket reducerer behovet for at læse dokumentationen.
  • fuldførelse af kode: Ved automatisk at fuldføre gentagne kodemønstre giver GitHub Copilot udviklere mulighed for at bevare deres tankegang uden afbrydelser.

I nedenstående eksempel kan du se, hvordan du kan arbejde med eksterne ressourcer (f.eks. API'er/biblioteker) i din kode, uden at du behøver at forlade editoren for at se dokumentationen. Dette sparer værdifuld tid og giver dig mulighed for at fokusere på mere strategiske opgaver, forbedre den overordnede produktivitet og muliggøre hurtigere projektlevering.

skærmbillede af minimering af kontekstskift.

Forbedret dokumentationsskrivning

GitHub Copilot forbedrer processen med at skrive og vedligeholde kodedokumentation markant:

  • Indbyggede kommentarer: genererer kontekstafhængigt relevante indbyggede kommentarer, der forklarer komplekse kodeafsnit.
  • Funktionsbeskrivelser: foreslår automatisk funktionsbeskrivelser, herunder parameterbeskrivelser og oplysninger om returværdi.
  • README-generering: hjælper med at oprette README-filer til projektet ved at foreslå struktur og indhold baseret på projektets kodebase.
  • konsistens i dokumentationen: Hjælper med at bevare ensartet dokumentationsstil på tværs af et projekt.

GitHub Copilot kan assimilere din kode og hjælpe dig med at skrive relevante kommentarer eller dokumentation til funktioner eller hele koden.

Skærmbillede af skrivning af udvidet dokumentation.

Automatiser de kedelige ting

GitHub Copilot udmærker sig ved at håndtere rutinekodningsopgaver, så udviklere får tid til at fokusere på mere komplekse og kreative aspekter af deres arbejde. Her er måder at udnytte GitHub Copilot til automatisering på:

  • Generering af standardkode: GitHub Copilot kan hurtigt producere standardkode til almindelige funktioner, f.eks. konfiguration af en REST-API eller oprettelse af en klassestruktur.
  • Oprettelse af eksempeldata: Når gitHub Copilot testes, kan den generere realistiske eksempeldata og spare tid på manuel oprettelse af data.
  • Skrivning af enhedstests: GitHub Copilot kan foreslå testcases og endda generere hele enhedstest baseret på den foreslåede kode.
  • Kodeoversættelse og omstrukturering: GitHub Copilot hjælper med at omstrukturere kode ved at foreslå forbedrede mønstre eller mere effektive implementeringer og endda konvertere programmeringssprog.

Du kan fremskynde din udviklingsproces ved hjælp af GitHub Copilot til at generere standardkode, som derefter kan tilpasses til dine specifikke behov.

Skærmbillede af Automatisering af kedelige ting.

Avancerede scenarier for standardautomatisering

GitHub Copilot kan håndtere mere sofistikerede automatiseringsopgaver, der typisk kræver en betydelig manuel indsats:

  • Databaseskema og ORM-opsætning: Generer komplette databasemodeller, migreringsfiler og ORM-konfigurationer baseret på enkle objektbeskrivelser.
  • API-slutpunktsstilladser: Opret hele REST API-slutpunkter med korrekt fejlhåndtering, validering og dokumentationskommentarer.
  • Administration af konfigurationer: Generer konfigurationsfiler til forskellige miljøer (udvikling, iscenesættelse, produktion) med passende indstillinger.
  • Test infrastruktur: Opsæt komplette testrammer, herunder falske data, armaturer og hjælpefunktioner til komplekse testscenarier.

Når du f.eks. bygger en ny mikrotjeneste, kan Copilot generere hele projektstrukturen, herunder Docker-konfigurationer, CI/CD-pipelinefiler og grundlæggende overvågningsopsætning baseret på nogle få beskrivende kommentarer om dine servicekrav.

Notat

Komplekse genereringer af flere filer forbruger flere PRU'er (~3-5 PRU'er til komplette projektstilladser). Simple boilerplate-opgaver bruger typisk 1-2 PRU'er. Få mere at vide om Premium Request Units.

Historiedrevet udviklingsautomatisering

GitHub Copilot udmærker sig ved at omdanne enkle brugerhistorier og funktionskrav direkte til komplette, produktionsklare implementeringer:

  • Funktion stilladser: Konverter funktionsbeskrivelser på højt niveau til komplette kodestrukturer med korrekt adskillelse af bekymringer, herunder databasemodeller, API-slutpunkter og frontend-komponenter.
  • Implementering af forretningslogik: Generer kernefunktionalitet baseret på forretningsregler, der er beskrevet i almindeligt sprog, og håndter automatisk almindelige mønstre som validering, datatransformation og arbejdsproceslogik.
  • Integrationsmønstre: Opret standardiserede mønstre til at forbinde forskellige dele af dit programøkosystem, herunder godkendelse, logføring og ekstern tjenesteintegration.
  • End-to-end automatisering: Fra en enkelt brugerhistorie kan du generere den komplette funktionsstak inklusive backend-logik, databaseændringer, API-dokumentation og grundlæggende frontend-implementering.
  • Kvalitet indbygget: Medtag automatisk fejlhåndtering, inputvalidering, logføring og grundlæggende sikkerhedsovervejelser som en del af den indledende implementering.

Denne tilgang muliggør hurtig iteration fra koncept til fungerende prototype, hvilket giver teams mulighed for hurtigt at validere ideer og indsamle feedback tidligt i udviklingsprocessen.

Fremskyndelse af arbejdsgange for pullanmodninger

GitHub Copilot transformerer pullanmodningsprocessen ved at generere ændringer, der er klar til gennemgang, og reducere tiden fra udvikling til udrulning:

PR-klar kodegenerering

Når du arbejder med funktioner eller fejlrettelser, hjælper Copilot med at oprette omfattende ændringer, der minimerer gennemgangscyklusser:

  • Komplette implementeringer: Generer komplette funktionsimplementeringer med korrekt fejlhåndtering, logning og dækning af kantsager.
  • Ensartede kodemønstre: Sørg for, at ny kode følger etablerede projektkonventioner og arkitektoniske mønstre.
  • Integration af dokumentation: Medtag indbyggede kommentarer, funktionsdokumentation og README-opdateringer som en del af den indledende kodegenerering.
  • Test dækning: Generer tilsvarende enhedstests, integrationstests og eksempelbrug sammen med ny funktionalitet.

Hjælp til gennemgang af intelligent kode

Copilot kan hjælpe med at forberede kode til gennemgang og endda hjælpe under selve gennemgangsprocessen:

  • Kvalitetskontrol før indsendelse: Før du opretter en PR, skal du bruge Copilot til at identificere potentielle problemer, foreslå forbedringer og sikre, at kodekvalitetsstandarderne overholdes.
  • Gennemgå udkast til kommentar: Generer konstruktive, specifikke gennemgangskommentarer, der forklarer problemer tydeligt og foreslår konkrete forbedringer med kodeeksempler.
  • Hurtig gentagelse: Når korrekturlæsere anmoder om ændringer, kan Copilot straks generere flere implementeringsalternativer, så forfattere kan vælge den bedste tilgang uden omfattende omskrivning.
  • Forbedring af dokumentation: Automatisk forbedring af kodekommentarer og dokumentation baseret på korrekturlæserens spørgsmål og feedback, hvilket sikrer klarhed for fremtidige vedligeholdere.
  • Konfliktløsning: Hjælp med at løse flettekonflikter ved at forstå hensigten med begge kodegrene og foreslå optimale integrationsmetoder.

Denne strømlinede tilgang reducerer antallet af nødvendige gennemgangsrunder betydeligt, hvilket muliggør hurtigere levering af funktioner, samtidig med at høje kodekvalitetsstandarder opretholdes.

Notat

Hvis du beder Copilot om flere refaktorudkast i en PR, kan det forbruge 2-3 PRU'er pr. udkast. Få mere at vide om Premium Request Units.

Arbejdsgange for samarbejde om udvikling

Copilot forbedrer teamsamarbejdet ved at sikre konsistens og kvalitet på tværs af forskellige udvikleres bidrag:

  • Standardisering af kode: Hjælp med at opretholde ensartede kodningsstile og -mønstre på tværs af teammedlemmer.
  • Videndeling: Generer kode, der følger teamets bedste praksis, og hjælper juniorudviklere med at lære af seniormønstre.
  • Bevarelse af kontekst: Når Copilot overtager en andens arbejde, kan han hjælpe med at forstå eksisterende kode og fortsætte udviklingen i samme stil.
  • Flet konfliktløsning: Hjælp med at løse komplekse flettekonflikter ved at forstå hensigten med begge kodegrene.

Orkestrerede AI-arbejdsprocesser

Moderne udvikling drager i stigende grad fordel af koordineret AI-assistance på tværs af forskellige aspekter af udviklingsprocessen. GitHub Copilot kan fungere som en del af orkestrerede arbejdsprocesser, hvor flere AI-funktioner supplerer hinanden:

Udviklingsmønstre for flere agenter

Overvej en arbejdsproces, hvor forskellige AI-agenter håndterer forskellige aspekter af funktionsudvikling:

  1. Draft-agent: Copilot genererer indledende kodeimplementeringer baseret på funktionskrav
  2. Anmeldelsesagent: En sekundær AI gennemgår kladden for kodekvalitet, sikkerhedsproblemer og overholdelse af projektstandarder
  3. Dokumentationsmedarbejder: Genererer eller opdaterer automatisk dokumentation baseret på kodeændringerne
  4. Prøvningsmiddel: Opretter omfattende testsuiter til den nye funktionalitet

Denne orkestrerede tilgang sikrer omfattende dækning af udviklingsopgaver, samtidig med at der opretholdes høje kvalitetsstandarder. Hver agent bringer specialiseret fokus til sit domæne, hvilket resulterer i mere grundig og produktionsklar kode.

Notat

Hver overdragelse bruger ~1 PRU. Et kladde-gennemgangsflow med 2 agenter bruger typisk 2-3 PRU'er.

Avancerede ræsonnementsfunktioner

Til komplekse udviklingsscenarier tilbyder GitHub Copilot førsteklasses ræsonnementstilstande, der giver dybere analyse og mere sofistikeret kodegenerering:

  • Forbedret kontekstforståelse: Analyserer større kodebaser og mere komplekse relationer mellem komponenter
  • Avancerede arkitektoniske forslag: Giver anbefalinger til systemdesign og integrationsmønstre
  • Kompleks refactoring-assistance: Håndterer sofistikerede kodetransformationer, samtidig med at funktionaliteten bevares
  • Koordinering af flere filer: Orkestrerer ændringer på tværs af flere filer, samtidig med at konsistensen bevares

Notat

Premium-kørsler tilføjer mere kontekst og ræsonnement, men fordobler ofte PRU-forbruget (~4+ pr. anmodning).

Automatiserede arbejdsgange for færdiggørelse af historier

GitHub Copilot kan omdanne brugerhistorier og krav til komplette, udrulningsbare funktioner gennem automatiserede arbejdsgange:

  • Krav parsing: Analysér brugerhistorier og acceptkriterier for at generere implementeringsplaner
  • Funktion stilladser: Opret komplette funktionsstrukturer, herunder controllere, tjenester, modeller og tests
  • Opsætning af integration: Generer den nødvendige kode til at integrere nye funktioner med eksisterende systemkomponenter
  • Automatisering af kvalitetssikring: Inkluder omfattende fejlhåndtering, logning og overvågning af nye funktioner

Denne tilgang muliggør hurtig progression fra koncept til fungerende software, hvilket reducerer tiden mellem idé og implementering betydeligt.

Fuldførelse af tilpasset kode

GitHub Copilot tilpasser sig individuelle kodningsstile og projektkontekster, hvilket giver stadig mere relevante forslag over tid og forbedrer kodeeffektiviteten. Sådan opnår GitHub Copilot en tilpasset kodefuldførelse:

  • Kontekstafhængig forståelse: GitHub Copilot analyserer udviklingsmiljøet og projektstrukturen for at give mere nøjagtige og relevante kodefuldførelser.
  • Læring fra mønstre: Når udviklere arbejder på et projekt, lærer GitHub Copilot af deres kodningsmønstre og præferencer og skræddersyr forslag i overensstemmelse hermed.

I nedenstående eksempel kan du se, hvordan GitHub Copilot foreslog en skrivestil, men når der blev brugt en foretrukken typografi, tilpassede den og fortsatte forslag med den foretrukne typografi.

Skærmbillede af fuldførelse af tilpasset kode.

Ved at udnytte GitHub Copilot på disse måder kan udviklere reducere den tid, de bruger på rutineopgaver, fremskynde deres læring af nye teknologier og bevare bedre fokus i hele deres arbejdsdag. Denne forbedrede produktivitet giver mulighed for mere tid til at løse komplekse problemer og innovere i deres projekter.

I det næste undermodul vil vi undersøge, hvordan GitHub Copilot justeres i forhold til almindelige udviklerindstillinger og arbejdsprocesser.