DXHEROES Logo
Co děláme

/

#ai
#guide

Jak začít s GitHub Copilot? #2

Délka: 

8 min

Publikováno: 

26. listopadu 2025

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.

Co konkrétně Copilot přináší

  • Refaktorování rychleji až o 40 %, díky identifikaci a úpravě složitých funkcí.
  • Úspora až ~ 50 % času při generování unit, integračních a E2E testů.
  • Lepší čitelnost, stabilita a snížení technického dluhu.
  • Snazší onboarding vývojářů díky automatickému vysvětlování kódu.
  • Zlepšení vývojových metrik jako cycle time a deployment frequency.

Refaktorování & optimalizace

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.

Příklady použití

Rozdělení dlouhých funkcí

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

Přejmenování proměnných / funkcí

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

Zjednodušení logiky

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')) {
    // ...
}

Optimalizace výkonu

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:
    # …

Slash-příkazy v Copilot Chat pro refaktoring

  • /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 úpravami

Zdroj: GitHub Docs

Testování & Debugování

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.

Generování testů

  • Použijte /tests v Copilot Chat (nebo označte kód v editoru), aby Copilot navrhl unit testy podle vaší funkce.
  • Copilot může vytvořit testy pro metody, zahrnout okrajové případy, ošetřit výjimky apod.
  • Experimentálně lze použít /setupTests, který nastaví testovací prostředí pro celý projekt (vybere framework, vytvoří soubor atd.).

Debugování a opravy chyb

  • Po označení chybného kódu můžete použít /fix — Copilot nabídne opravenou verzi.
  • Pokud test selže, lze využít /fixTestFailure — Copilot analyzuje selhání a navrhne opravu.
  • V experimentálním režimu můžete použít /startDebugging pro vytvoření konfigurace ladění („launch configuration") a spuštění debugování přímo z copilot chatu.

Ukázka kódu + prompt

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

Dokumentace & Onboarding

Tato část je o tom, jak Copilot usnadní psaní dokumentace a zapracování nových vývojářů do projektu.

Dokumentace

  • Pomocí příkazu /doc můžete nechat Copilota generovat docstringy, komentáře nebo popisy funkcí a tříd.
  • Kód, který je složitý nebo nebyl dokumentován, může Copilot vysvětlit a přidat potřebné komentáře.

Onboarding nových vývojářů

  • Nováčci mohou využít Copilot Chat pro otázky jako „Co dělá tahle část kódu?" a Copilot jim poskytne přehledné vysvětlení.
  • Při zakládání nového modulu nebo části aplikace mohou vývojáři požádat Copilota, aby vygeneroval skeleton projektu: složky, testy, konfigurační soubory apod.
  • Dokumentace, která vznikne automaticky (docstringy, komentáře), snižuje bariéru pro nové členy týmu a urychluje jejich zapracování.

Závěr

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.

Související články

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é:

Chcete být o krok napřed?

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.

Tento web je chráněn službou reCAPTCHA a platí Zásady ochrany soukromí a Smluvní podmínky společnosti Google.