Verhoog de productiviteit van ontwikkelaars met AI
In deze les verkennen we hoe GitHub Copilot ontwikkelwerkstromen stroomlijnt, zodat ontwikkelaars zich kunnen richten op het oplossen van complexe problemen in plaats van op routinecoderingstaken.
Aan het einde van deze les kunt u het volgende:
- Meer informatie over hoe ai-hulpprogramma's zoals GitHub Copilot terugkerende coderingsinspanningen kunnen verminderen.
- Identificeer belangrijke gebieden in uw werkstroom waar GitHub Copilot de grootste impact kan hebben.
Veelvoorkomende AI-gebruiksvoorbeelden voor het stroomlijnen van de productiviteit van ontwikkelaars
GitHub Copilot biedt talloze manieren om algemene ontwikkelingstaken te versnellen en te vereenvoudigen. Laten we eens kijken naar enkele belangrijke gebieden waar GitHub Copilot bijzonder nuttig is:
Sneller nieuwe programmeertalen en frameworks leren
Het leren van nieuwe programmeertalen of frameworks kan lastig zijn, maar GitHub Copilot maakt dit proces soepeler en sneller, waardoor ontwikkelaars snel nieuwe concepten kunnen begrijpen en in de praktijk kunnen toepassen. GitHub Copilot helpt de kloof te overbruggen tussen leren en werkelijke implementatie via:
- Codesuggesties: biedt contextbewuste suggesties voor codefragmenten die het gebruik van onbekende functies en bibliotheken illustreren, waarbij ontwikkelaars worden begeleid bij het juiste gebruik en de implementatie bij het werken met nieuwe frameworks.
- Taalondersteuning: ondersteunt een breed scala aan talen, waardoor u soepel kunt overstappen van de ene taal naar de andere.
- Integratie van documentatie: Door inlinesuggesties op te geven met betrekking tot API-gebruiks- en functieparameters, vermindert GitHub Copilot de noodzaak om voortdurend naar externe documentatie te verwijzen.
Laten we eens naar een voorbeeld kijken. Stel dat u aan een Golang-project werkt in een taal waarmee u niet bekend bent. GitHub Copilot kan de code voor u genereren. Vervolgens kunt u de optie 'Dit uitleggen' in het contextmenu gebruiken om uit te leggen wat de code doet.
Contextwisseling minimaliseren
Contextwisseling is een aanzienlijke productiviteitsafvoer voor ontwikkelaars en kan uw werkstroom verstoren en de focus verminderen. GitHub Copilot helpt de focus te behouden door relevante codesuggesties te bieden binnen uw huidige context, zodat u zich kunt concentreren op het oplossen van complexe problemen. Hier volgen manieren waarop GitHub Copilot dit kan bereiken:
- Hulp in editor: GitHub Copilot biedt codesuggesties rechtstreeks in de IDE, waardoor de noodzaak om online te zoeken naar oplossingen wordt geminimaliseerd.
- Snelle verwijzingen: Wanneer u met API's of bibliotheken werkt, kan GitHub Copilot de juiste methode-aanroepen en parameters voorstellen, waardoor u minder documentatie hoeft te raadplegen.
- Codevoltooiing: Door terugkerende codepatronen automatisch te aanvullen, kunnen ontwikkelaars met GitHub Copilot hun gedachten trainen zonder onderbreking.
In het onderstaande voorbeeld ziet u hoe u met externe resources (zoals API's/bibliotheken) in uw code kunt werken zonder dat u de editor hoeft te verlaten om documentatie te raadplegen. Dit bespaart waardevolle tijd en stelt u in staat om u te richten op meer strategische taken, het verbeteren van de algehele productiviteit en het inschakelen van snellere projectlevering.
Uitgebreide documentatie schrijven
GitHub Copilot verbetert het schrijven en onderhouden van codedocumentatie aanzienlijk:
- Inlineopmerkingen: genereert contextafhankelijk relevante inlineopmerkingen waarin complexe codesecties worden uitgelegd.
- Functiebeschrijvingen: hiermee worden automatisch functiebeschrijvingen voorgesteld, inclusief parameteruitleg en details van retourwaarden.
- README-generatie: helpt bij het maken van README-bestanden door structuur en inhoud voor te stellen op basis van de codebasis van het project.
- Documentatieconsistentie: helpt consistente documentatiestijl in een project te behouden.
GitHub Copilot kan uw code assimileren en u helpen relevante opmerkingen of documentatie te schrijven voor functies of de hele code.
De saaie dingen automatiseren
GitHub Copilot excelleert bij het afhandelen van routinecoderingstaken, waardoor ontwikkelaars zich kunnen concentreren op complexere en creatieve aspecten van hun werk. Hier volgen manieren om GitHub Copilot te gebruiken voor automatisering:
- Standaardcodegeneratie: GitHub Copilot kan snel standaardcode produceren voor algemene functies, zoals het instellen van een REST API of het maken van een klassestructuur.
- Voorbeeldgegevens maken: Bij het testen kan GitHub Copilot realistische voorbeeldgegevens genereren, wat tijd bespaart bij het handmatig maken van gegevens.
- Eenheidstests schrijven: GitHub Copilot kan testcases voorstellen en zelfs volledige eenheidstests genereren op basis van de voorgestelde code.
- Codevertaling en -herstructurering: GitHub Copilot helpt bij het herstructureren van code door verbeterde patronen of efficiëntere implementaties voor te stellen en zelfs programmeertalen te converteren.
U kunt uw ontwikkelingsproces versnellen met behulp van GitHub Copilot om standaardcode te genereren, die vervolgens kan worden aangepast aan uw specifieke behoeften.
Geavanceerde standaardautomatiseringsscenario's
GitHub Copilot kan meer geavanceerde automatiseringstaken afhandelen waarvoor doorgaans aanzienlijke handmatige inspanning vereist is:
- Databaseschema en ORM-installatie: Genereer volledige databasemodellen, migratiebestanden en ORM-configuraties op basis van eenvoudige entiteitsbeschrijvingen.
- API-eindpunten: Maak volledige REST API-eindpunten met de juiste foutafhandeling, validatie en documentatieopmerkingen.
- Configuratiebeheer: Genereer configuratiebestanden voor verschillende omgevingen (ontwikkeling, fasering, productie) met de juiste instellingen.
- Testinfrastructuur: Stel volledige testframeworks in, waaronder mockgegevens, armaturen en helperfuncties voor complexe testscenario's.
Bij het bouwen van een nieuwe microservice kan Copilot bijvoorbeeld de volledige projectstructuur genereren, waaronder Docker-configuraties, CI/CD-pijplijnbestanden en basisinstellingen voor bewaking op basis van enkele beschrijvende opmerkingen over uw servicevereisten.
Opmerking
Complexe generaties met meerdere bestanden verbruiken meer RU's (~3-5 RU's voor volledige projectstructuur). Eenvoudige standaardtaken maken doorgaans gebruik van 1-2 PRU's. Meer informatie over Premium-aanvraageenheden.
Verhaalgestuurde ontwikkelingsautomatisering
GitHub Copilot excelleert bij het omzetten van eenvoudige gebruikersverhalen en functievereisten rechtstreeks in volledige, productieklare implementaties:
- Functie-scaffolding: Converteer functiebeschrijvingen op hoog niveau naar volledige codestructuren met een juiste scheiding van problemen, waaronder databasemodellen, API-eindpunten en front-endonderdelen.
- Implementatie van bedrijfslogica: Genereer kernfunctionaliteit op basis van bedrijfsregels die in gewone taal worden beschreven, waarbij algemene patronen, zoals validatie, gegevenstransformatie en werkstroomlogica, automatisch worden verwerkt.
- Integratiepatronen: Maak gestandaardiseerde patronen voor het verbinden van verschillende onderdelen van uw toepassingsecosysteem, waaronder verificatie, logboekregistratie en integratie van externe services.
- End-to-end automatisering: Genereer vanuit één gebruikersverhaal de volledige functiestack, waaronder back-endlogica, databasewijzigingen, API-documentatie en eenvoudige front-endimplementatie.
- Ingebouwde kwaliteit: Automatisch foutafhandeling, invoervalidatie, logboekregistratie en basisbeveiligingsoverwegingen opnemen als onderdeel van de eerste implementatie.
Deze aanpak maakt snelle iteratie mogelijk van concept tot werkend prototype, zodat teams ideeën snel kunnen valideren en feedback vroeg in het ontwikkelingsproces kunnen verzamelen.
Werkstromen voor pull-aanvragen versnellen
GitHub Copilot transformeert het pull-aanvraagproces door wijzigingen te genereren die gereed zijn voor revisie en het verminderen van de tijd van ontwikkeling tot implementatie:
PR-klaar code genereren
Wanneer u werkt aan functies of oplossingen voor fouten, helpt Copilot uitgebreide wijzigingen te maken die de beoordelingscycli minimaliseren:
- Volledige implementaties: Genereer volledige functie-implementaties met de juiste foutafhandeling, logboekregistratie en edge-casedekking.
- Consistente codepatronen: Zorg ervoor dat nieuwe code de vastgestelde projectconventies en architectuurpatronen volgt.
- Documentatie-integratie: Voeg inlineopmerkingen, functiedocumentatie en README-updates toe als onderdeel van de eerste codegeneratie.
- Testdekking: Genereer bijbehorende eenheidstests, integratietests en voorbeeldgebruik naast nieuwe functionaliteit.
Hulp bij intelligente codebeoordeling
Copilot kan helpen bij het voorbereiden van code voor beoordeling en zelfs hulp tijdens het beoordelingsproces zelf:
- Kwaliteitscontroles voor indiening: Voordat u een pull request aanmaakt, gebruikt u Copilot om potentiële problemen te identificeren, verbeteringen voor te stellen en ervoor te zorgen dat aan de kwaliteitsnormen voor code wordt voldaan.
- Het opstellen van reviewcommentaar: Genereer constructieve, specifieke reviews die problemen begrijpelijk uitleggen en concrete verbeteringen voorstellen met voorbeelden van code.
- Snelle iteratie: Wanneer revisoren wijzigingen aanvragen, kan Copilot onmiddellijk meerdere implementatiealternatieven genereren, zodat auteurs de beste aanpak kunnen kiezen zonder uitgebreid herschrijven.
- Verfijning van documentatie: Codeopmerkingen en documentatie automatisch verbeteren op basis van revisorvragen en feedback, waardoor toekomstige onderhouders duidelijkheid krijgen.
- Conflictresolutie: Hulp bij het oplossen van samenvoegingsconflicten door inzicht te krijgen in de intentie van beide codevertakkingen en het voorstellen van optimale integratiemethoden.
Deze gestroomlijnde aanpak vermindert het aantal vereiste beoordelingsrondes aanzienlijk, waardoor snellere functielevering mogelijk wordt en tegelijkertijd hoge standaarden voor codekwaliteit worden gehandhaafd.
Opmerking
Copilot vragen om meerdere herstructureringsconcepten in een pull-aanvraag kan 2-3 PRU's per concept verbruiken. Meer informatie over Premium-aanvraageenheden.
Werkstromen voor gezamenlijke ontwikkeling
Copilot verbetert de teamsamenwerking door consistentie en kwaliteit te garanderen in de bijdragen van verschillende ontwikkelaars:
- Codestandaardisatie: Help consistente coderingsstijlen en -patronen te onderhouden voor teamleden.
- Kennis delen: Genereer code die de aanbevolen procedures van het team volgt, zodat junior ontwikkelaars leren van senior patronen.
- Behoud van context: Wanneer u het werk van iemand anders overneemt, kan Copilot helpen om inzicht te krijgen in bestaande code en de ontwikkeling in dezelfde stijl voort te zetten.
- Samenvoegconflictoplossing: Help bij het oplossen van complexe samenvoegingsconflicten door inzicht te krijgen in de intentie van beide codebranches.
Ingedeelde AI-werkstromen
Moderne ontwikkeling profiteert steeds meer van gecoördineerde AI-hulp in verschillende aspecten van het ontwikkelingsproces. GitHub Copilot kan werken als onderdeel van ingedeelde werkstromen waarbij meerdere AI-mogelijkheden elkaar aanvullen:
Ontwikkelingspatronen voor meerdere agents
Overweeg een werkstroom waarbij verschillende AI-agents verschillende aspecten van functieontwikkeling verwerken:
- Conceptagent: Copilot genereert initiële code-implementaties op basis van functievereisten
- Beoordelingsagent: Een secundaire AI beoordeelt het ontwerp op codekwaliteit, beveiligingsproblemen en naleving van projectstandaarden.
- Documentatieagent: Automatisch documentatie genereren of bijwerken op basis van de codewijzigingen
- Testagent: Maakt uitgebreide testsuites voor de nieuwe functionaliteit
Deze ingedeelde benadering zorgt voor een uitgebreide dekking van ontwikkelingstaken, terwijl hoge kwaliteitsnormen worden gehandhaafd. Elke agent brengt gespecialiseerde focus naar het domein, wat resulteert in uitgebreidere en productieklare code.
Opmerking
Elke overdracht verbruikt ongeveer 1 PRU. Een conceptbeoordelingsstroom van twee agenten maakt doorgaans gebruik van 2-3 PRU's.
Geavanceerde redeneringsmogelijkheden
Voor complexe ontwikkelscenario's biedt GitHub Copilot premium redeneringsmodi die diepere analyses en geavanceerdere codegeneratie bieden:
- Verbeterde contextkennis: Analyseert grotere codebases en complexere relaties tussen onderdelen
- Geavanceerde architectuursuggesties: Biedt aanbevelingen voor systeemontwerp- en integratiepatronen
- Complexe herstructureringsondersteuning: Verwerkt geavanceerde codetransformaties met behoud van functionaliteit
- Coördinatie van meerdere bestanden: Hiermee worden wijzigingen in meerdere bestanden ingedeeld terwijl consistentie behouden blijft
Opmerking
Premium-uitvoeringen voegen meer context en redenering toe, maar verdubbelen vaak het PRU-verbruik (~4+ per verzoek).
Geautomatiseerde werkstromen voor voltooiing van verhaal
GitHub Copilot kan gebruikersverhalen en -vereisten transformeren in volledige, implementeerbare functies via geautomatiseerde werkstromen:
- Vereisten parseren: Gebruikersverhalen en acceptatiecriteria analyseren om implementatieplannen te genereren
- Feature-scaffolding: Complete functiestructuren aanmaken, inclusief controllers, services, modellen en testen.
- Integratie-installatie: Genereer de benodigde code om nieuwe functies te integreren met bestaande systeemonderdelen
- Automatisering van kwaliteitscontrole: Uitgebreide foutafhandeling, logboekregistratie en bewaking voor nieuwe functies opnemen
Deze aanpak maakt een snelle voortgang van concept tot werkende software mogelijk, waardoor de tijd tussen idee en implementatie aanzienlijk wordt verminderd.
Persoonlijke codevoltooiing
GitHub Copilot past zich aan afzonderlijke coderingsstijlen en projectcontexten aan, waardoor steeds relevante suggesties in de loop van de tijd worden geboden en de efficiëntie van code wordt verbeterd. Hier ziet u hoe GitHub Copilot het voltooien van persoonlijke code bereikt:
- Contextueel begrip: GitHub Copilot analyseert de ontwikkelomgeving en projectstructuur om nauwkeurigere en relevante codevoltooiingen aan te bieden.
- Leren van patronen: Als ontwikkelaars aan een project werken, leert GitHub Copilot van hun coderingspatronen en voorkeuren, waarbij suggesties dienovereenkomstig worden aangepast.
In het onderstaande voorbeeld ziet u hoe GitHub Copilot een stijl voor het schrijven van functies heeft voorgesteld, maar wanneer een voorkeursstijl werd gebruikt, is deze aangepast en voortgezet met de voorkeursstijl.
Door op deze manieren gebruik te maken van GitHub Copilot, kunnen ontwikkelaars de tijd die wordt besteed aan routinetaken aanzienlijk verminderen, hun kennis van nieuwe technologieën versnellen en hun focus gedurende hun werkdag verbeteren. Dankzij deze verbeterde productiviteit kan er meer tijd worden besteed aan het oplossen van complexe problemen en het innoveren binnen hun projecten.
In de volgende les verkennen we hoe GitHub Copilot overeenkomt met algemene voorkeuren en werkstromen voor ontwikkelaars.