Tentokrát navážeme na první část "Jak začít s GitHub Copilotem? #1", kde jsme probrali jeho hlavní funkce, nastavení a celkově první kroky k tomu, jak začít. Pokud vám tenhle článek unikl, tak doporučujeme začít u něj.
Teď už se posuneme trochu dál a ukážeme si, s čím dalším vám může Copilot pomoci, konkrétně projdeme refaktorování, optimalizaci a generování testů.
Právě v těchto oblastech dokáže Copilot přinést velmi konkrétní výsledky. Týmy, které jej využívají naplno, reportují výrazné zkrácení času potřebného na úpravy kódu, rychlejší generování testů a celkově vyšší kvalitu výstupu. Vývojáři tráví méně času rutinními úkoly a mohou se více soustředit na klíčové tasky.
Copilot je užitečný nejen pro psaní nového kódu, ale také pro úpravu existujícího – zlepšuje čitelnost, strukturu a výkon.
Můžete označit komplexní funkci a požádat Copilota, aby ji rozdělil na logické, samostatné části:
def process_data_and_generate_report(data):
# načítání, čištění, analýza, generování reportu …
pass
# Prompt v Copilot Chat:
# "/refactor Rozděl tuto funkci `process_data_and_generate_report` na menší části."
# Jeden z možných návrhů Copilota:
def load_data(data):
pass
def clean_data(data):
pass
def analyze_data(data):
pass
def generate_report(data):
pass
Požádejte Copilota o smysluplnější jména:
tmp = 10
# Prompt:
# "Přejmenuj `tmp` na výraznější název."
# Copilot například navrhne:
customer_age = 10
Například složité podmínky lze udělat přehlednějšími:
if (user.isAdmin === true && user.isActive === true && user.hasPermission('edit')) {
// ...
}
// Prompt:
// "/refactor Zjednoduš tuto podmínku"
// Copilot může navrhnout:
if (user.isAdmin && user.isActive && user.hasPermission('edit')) {
// ...
}
Copilot může navrhnout efektivnější datové struktury nebo algoritmy:
# Původní:
for i in range(len(my_list)):
if my_list[i] == value:
# …
# Prompt:
# "/optimize Tuto smyčku pro lepší výkon"
# Návrh Copilota:
if value in my_list:
# …
/refactor — refaktoruje vybraný blok podle zadání/optimize — navrhuje vylepšení výkonu/explain — vysvětlí, co daný blok kódu dělá, což vám pomůže ho lépe pochopit před úpravamiZdroj: GitHub Docs
V této sekci Copilot kombinuje generování testů s podporou pro ladění a opravy chyb, čímž urychluje vývoj a zvyšuje kvalitu kódu.
/tests v Copilot Chat (nebo označte kód v editoru), aby Copilot navrhl unit testy podle vaší funkce./setupTests, který nastaví testovací prostředí pro celý projekt (vybere framework, vytvoří soubor atd.)./fix — Copilot nabídne opravenou verzi./fixTestFailure — Copilot analyzuje selhání a navrhne opravu./startDebugging pro vytvoření konfigurace ladění („launch configuration") a spuštění debugování přímo z copilot chatu.def compute_factorial(n):
factorial = 1
for i in range(1, n + 1):
factorial *= i * factorial # chyba: násobí navíc factorial
return factorial
Prompt k ladění:
/explain Proč tato funkce počítá faktorial špatně?
Poté:
/fix Oprav logiku tak, aby počítala faktoriál korektně.
Copilot může navrhnout opravenou verzi:
def compute_factorial(n):
factorial = 1
for i in range(1, n + 1):
factorial *= i
return factorial
Tato část je o tom, jak Copilot usnadní psaní dokumentace a zapracování nových vývojářů do projektu.
/doc můžete nechat Copilota generovat docstringy, komentáře nebo popisy funkcí a tříd.GitHub Copilot je víc než jen nástroj pro rychlé psaní nového kódu. Je to výkonný asistent, který výrazně pomáhá i v činnostech, které vývojáři často odsouvají – jako je refaktorování, optimalizace nebo generování testů. A právě v těchto oblastech může přinést okamžité výsledky: od zrychlení vývoje a snížení technického dluhu až po kvalitnější kód a vyšší pokrytí testy.
V pokračování si shrneme, jak zvýšit kvalitu výstupů Copilota, projdeme si pokročilé funkce a integrace.
Pokud vás zajímá více o GitHub Copilot a AI nástrojích pro vývojáře, přečtěte si také:
Nenechte si utéct naše nejlepší postřehy. Žádný spam, jen praktické analýzy, pozvánky na exkluzivní eventy a shrnutí podcastů přímo do vaší schránky.