Uživatelské nástroje

Nástroje pro tento web


refaktorovani

Refaktorování (Čištění kódu)

Refaktorování je nezbytnou součástí životního cyklu softwaru. Stejně jako zahrada vyžaduje pravidelné pletí, aby nezarostla plevelem, kód vyžaduje refaktorování, aby se v něm nehromadil tzv. technický dluh.

Základní pravidlo zní: Pokud kód po refaktorování dělá něco jiného než předtím, nejednalo se o refaktorování, ale o opravu chyb nebo vývoj nové funkce.


Hlavní cíle refaktorování

  • Zlepšení čitelnosti: Aby kód pochopil i někdo jiný (nebo autor sám po půl roce).
  • Odstranění duplicit: Důsledné uplatňování principu DRY.
  • Snížení složitosti: Rozbití obřích funkcí na menší, přehlednější celky.
  • Usnadnění budoucích změn: Čistý kód se mnohem lépe rozšiřuje o nové funkce.

Kdy refaktorovat?

Nejlepším průvodcem jsou tzv. Code Smells (zápachy kódu) – náznaky, že s kódem není něco v pořádku:

  • Duplicitní kód: Stejná logika na více místech.
  • Příliš dlouhá metoda: Funkce, která má stovky řádků a dělá deset věcí najednou.
  • Obří třída (God Object): Třída, která se snaží ovládat celý program.
  • Nesrozumitelná jména: Proměnné jako a, temp nebo data123.

Běžné techniky refaktorování

1. Extraxe metody (Extract Method)

Vezmete část složitého kódu z dlouhé funkce, přesunete ji do nové, samostatné funkce a tu původní nahradíte voláním této nové funkce.

2. Přejmenování (Rename)

Změna názvů proměnných, metod nebo tříd tak, aby přesně vyjadřovaly svůj účel. Moderní vývojová prostředí (IDE) toto zvládnou automaticky v celém projektu.

3. Nahrazení magických čísel konstantami

Místo čísla 86400 v kódu použijete pojmenovanou konstantu SEKUND_ZA_DEN.


Postup při bezpečném refaktorování

Refaktorování může být riskantní, proto by mělo probíhat v malých krocích:

1. **Mějte testy:** Před začátkem byste měli mít sadu automatických testů, které ověří, že kód funguje správně.
2. **Malé změny:** Udělejte jednu drobnou úpravu (např. přejmenování).
3. **Spusťte testy:** Pokud všechny projdou, pokračujte. Pokud ne, vraťte změnu zpět.
4. **Čistěte:** Opakujte, dokud kód není "voňavý".

Rozdíl: Refaktorování vs. Optimalizace

Činnost Co se mění? Cíl
Refaktorování Vnitřní struktura. Čitelnost a udržovatelnost.
Optimalizace Využití zdrojů. Vyšší rychlost, nižší spotřeba paměti.

Pozor: Optimalizovaný kód je často hůře čitelný. Proto by se mělo nejprve refaktorovat (pro čistotu) a teprve v případě nutnosti optimalizovat (pro výkon).


Související pojmy: DRY princip, Technický dluh, Jednotkové testy (Unit Testing), SOLID principy, KISS.

refaktorovani.txt · Poslední úprava: autor: admin