Obsah

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í


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:


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.