Co GitHub Copilot přidá do procesu kontroly

Dokončeno

Kontroly kódu a kontroly žádostí o přijetí změn jsou nezbytné pro kvalitu, ale můžou být také časově náročné a nerovnoměrné. Vývojáři často přebíhat více jazyků, nekonzistentní formátování a velké rozdíly při pokusu o poskytnutí promyšlené zpětné vazby. GitHub Copilot usnadňuje tuto úlohu tím, že funguje jako spolupracující recenzent a asistent. Zachytává běžné problémy, konceptualizuje připomínky k revizi, shrnuje pull requesty a dokonce zvýrazňuje bezpečnostní rizika, čímž poskytuje kontrolorům jasný výchozí bod. Pomocí vlastních pokynů pro kontrolu můžete pomocí Copilotu sledovat stejné vzory, jaké děláte, a zajistit konzistenci napříč týmy a úložišti.

Na konci této lekce budete umět:

  • Identifikujte klíčové funkce Copilotu v kontrolách kódu.
  • Vysvětlete, jak PRUs odemykají pokročilé možnosti revizí.
  • Poznáte různé způsoby, jak funkce Copilot review doplňuje a pomáhá vývojářům.

Klíčové funkce Copilotu v recenzích kódu

Copilot zavádí několik funkcí navržených pro zjednodušení kontrol:

  • Souhrny pull requestů: Copilot může automaticky vytvořit popisy pull requestů, které obsahují přehledný souhrn změn a seznam ovlivněných souborů. Tím se zajistí, že revidoři začínají kontextem, nikoli odhadem.

  • Opravy zabezpečení: Když je kontrola kódu Copilot integrovaná do kontroly kódu GitHubu, označí se chyby zabezpečení napříč jazyky. Například v JavaScriptu může Copilot odhalit nesanitizovaný vstup předaný eval() a přidat komentář.

    "eval() se vstupem uživatele může vést k injektáži kódu. Nahraďte ho bezpečným analyzátorem, jako je JSON.parse(). Poté nabízí in-line opravu v souladu s pokyny pro zabezpečení vašeho úložiště.

  • Vysvětlení po řádcích: Revidoři můžou zvýraznit kód a požádat Copilota o vysvětlení funkčnosti, což jim pomůže rychle porozumět neznámému kódu.

  • Návrhy komentářů: Copilot může generovat komentáře k recenzi na základě osvědčených postupů nebo pokynů týmu, což zpřesňuje zpětnou vazbu a činí ji akční.

  • Recenze ve vašem integrovaném vývojovém prostředí (IDE): Kromě přímé práce na GitHub.com může Copilot také zkontrolovat kód v integrovaném vývojovém prostředí (IDE). Vývojáři tak můžou zachytit a vyřešit problémy před otevřením žádosti o přijetí změn, urychlit proces a snížit přepracování.

Pochopte, jak PRU odemykají pokročilé možnosti revizí

Výkonné jednotky v reálném čase umožňují tyto pokročilé funkce. Například přiřazení Copilot jako posuzovatele žádosti o změnu používá PRU pokaždé, když přidává komentáře. Při kombinaci s vlastními .github/copilot-instructions.md soubory jsou recenze poháněné technologií PRU v souladu s pravidly vašeho týmu, ať už se zaměřují na čitelnost, zabezpečení nebo styl.

Příklad:

Bez Copilotu může žádost o přijetí změn obsahovat vágní komentáře od revidujících, například "Opravit problém se zabezpečením zde". S pomocí Copilot + PRUs se recenze stane:

"Použití exec() představuje ohrožení zabezpečení injektáže kódu. Zvažte jeho nahrazení bezpečnějším spouštěním subprocess.run() příkazů. Tady je navrhovaná oprava:"

A poskytuje opravu kódu přímo v textu.

Pět různých způsobů, jak Copilot review pomáhá vývojářům

V další části si ukážeme, jak vám recenze Copilotu může pomoct pracovat inteligentněji s:

  • Návrhy revize kódu
  • Recenze copilotu napříč více jazyky
  • Formátování dat v pull žádostech
  • Psaní efektivních souhrnů pull requestů
  • Vysvětlení a revize kódu

Použití návrhů Copilotu v recenzích kódu

Při kontrole žádosti o přijetí změn můžete zjistit oblasti, které by se daly vylepšit, ale nemusíte mít čas na vytvoření dokonalého příkladu nebo ukázky sami. GitHub Copilot pomáhá vyplnit tyto mezery bez převzetí práce autora. V zobrazení "Změněné soubory" návrhu změn můžete zvýraznit řádek nebo blok kódu, který a požádat Copilot, aby navrhl vylepšení nebo označil potenciální problémy. Copilot pak vygeneruje konkrétní návrh, který bere v úvahu kontext a který můžete zkopírovat do komentáře ke kontrole, aby vaše zpětná vazba byla jasnější a autor mohl snadněji jednat.

Při kontrole souboru Ruby s opakovanou logikou můžete například zvýraznit relevantní řádky a zeptat se:

Navrhni čistší refaktoring Ruby pro opakující se kód.

Copilot navrhne aktualizovanou verzi, která se řídí běžnými osvědčenými postupy Ruby. Doporučení (nebo jeho části) můžete vložit do komentáře ke kontrole spolu s vlastním vysvětlením. Díky tomu se budete soustředit na celkovou kvalitu a návrh, zatímco autorovi poskytnete prakticky využitelnou, vysoce hodnotnou zpětnou vazbu, aniž byste rozmazali hranici mezi hodnocením a kódováním jménem autora.

Kontrola napříč více jazyky

Při vyžádání kontroly kódu může Copilot automaticky zvýraznit oblasti, které nedodržují osvědčené postupy nebo pokyny týmu.

Copilot rychle vygeneruje vylepšení, která odpovídají konvencím jazyka, což vám umožní poskytnout silnější a přesnější kontrolu zpětné vazby i mimo vaši primární oblast odborných znalostí.

Snímek obrazovky pull requestu na GitHubu zobrazující návrh na změnu kódu, kde je doporučeno nahradit deklaraci proměnné zkrácenou deklarací proměnné v programu Go.

Formátování dat pro pull requestů

Žádosti o přijetí změn jsou mnohem jasnější, pokud obsahují dobře formátovaný kontext, jako jsou metriky, snímky obrazovky nebo výsledky testů. Týmy ale často zapomenou tento obsah konzistentně formátovat. GitHub Copilot může během kontroly kódu fungovat jako druhá sada očí a automaticky označit špatně formátované tabulky v popisu žádosti o přijetí změn a navrhnout čistější verzi, která odpovídá pokynům pro styl vaší společnosti.

Příklad: Vývojář odešle pull request s následující tabulkou časů načtení stránky. Je těžké to číst a nedodržuje týmový stylistický průvodce pro Markdown.

Testovací běh ČasNahráváníPřed LoadTimeAfter
1.3 1.2
1.2 1.1
1.1 0.885
1.3 1.3
1.2 0.918
Průměr 1.22 1.0806

Během recenze copilot publikuje komentář:

Tato tabulka neodpovídá pokynům pro Markdown vašeho úložiště. Tady máte vyčištěnou verzi podle stylové příručky vaší společnosti.

Obsahuje opravenou verzi připravenou k vložení do popisu žádosti o přijetí změn:

Testovací běh Doba načtení před (sekundy) Doba načítání po aktualizacích (sekundy)
1 1.3 1.2
2 1.2 1.1
3 1.1 0.885
4 1.3 1.3
5 1.2 0.918
Průměr 1.22 1.0806

Kontrolor může návrh od Copilota přijmout jedním kliknutím a zajistit, že pull request bude splňovat firemní styl, aniž by musel ztrácet čas přeformátováním.

To ukazuje, že Copilot funguje jako automatický recenzent (ne kódovací agent): zobrazí neformátovanou tabulku, použije pokyny společnosti z .github/copilot-instructions.md, a dodává opravenou verzi přímo vloženou.

Psaní efektivních souhrnů pull requestů

Psaní popisů žádostí o přijetí změn je často posledním krokem procesu a může se zdát jako překážka. Copilot to usnadňuje. V editoru popisu pull requestu můžete pomocí ikony Copilot vygenerovat návrh souhrnu nebo osnovu. I když provedete úpravy, dobře strukturovaný výchozí bod šetří čas a zajišťuje, aby kontroloři měli potřebné informace.

Snímek obrazovky s žádostí o přijetí změn GitHubu zobrazující pole komentáře s možnostmi GitHub Copilotu pro vygenerování souhrnu nebo osnovy změn

Vysvětlení a revize kódu

Někdy můžete neznát kód v pull requestu. Místo toho, abyste se s tím potýkali, můžete požádat Copilota o vysvětlení změn. Copilot může také spustit počáteční kontrolu vašich vlastních pull requestů, než požádáte o zpětnou vazbu od členů týmu. To vám pomůže zachytit menší problémy, ověřit osvědčené postupy a získáte větší jistotu v kvalitu odeslání.

Teď víte, co je Copilot schopný, když jde o revize kódu. V dalším kroku se podíváme, jak používat recenze Copilot přímo na GitHub.com.