Refaktoring je systematický proces vylepšování designu kódu bez přidávání nových funkcí. Cílem je učinit kód čistším (Clean Code), čitelnějším a snadněji udržitelným. Jak řekl Martin Fowler: „Jakýkoli blbec může napsat kód, kterému rozumí počítač. Dobří programátoři píší kód, kterému rozumí lidé.“
Příznaky, že kód vyžaduje refaktoring, se v komunitě označují jako „Code Smells“ (zápachy kódu). Mezi nejčastější patří:
—
Existují desítky popsaných technik, zde jsou ty nejpoužívanější:
Část kódu z dlouhé metody se vyjme a vytvoří se z ní nová, samostatná metoda s výstižným názvem.
Změna názvu proměnné nebo metody tak, aby jasně vyjadřovala svůj účel.
Opak extrakce. Pokud je tělo metody stejně jasné jako její název, metoda se zruší a kód se vloží přímo tam, kde se volala.
Pokud metoda více komunikuje s jinou třídou než s tou, ve které se nachází, přesune se do té druhé.
—
Refaktoring by se nikdy neměl provádět bez sady automatizovaných testů (Unit testů).
1. Máte funkční kód s testy, které procházejí (Green). 2. Provedete malou úpravu (Refaktoring). 3. Spustíte testy. Pokud stále procházejí, vnější chování zůstalo zachováno. 4. Pokud testy selžou, vrátíte změnu zpět.
—
—
Je důležité tyto pojmy nezaměňovat:
Související články:
Tagy: programming software-engineering refactoring clean-code maintenance