Refactoring je disciplinovaný proces restrukturalizace a vylepšování existujícího programového kódu, při kterém se nemění jeho vnější chování, ale zlepšuje se jeho vnitřní struktura. Cílem není přidávat nové funkce ani opravovat chyby, ale udělat kód čistším, srozumitelnějším, efektivnějším a snadněji udržitelným do budoucna.
Je to v podstatě "úklid" v kódu. Představte si to jako generální úklid v dílně – nářadí se nepřidá ani neubere, ale po úklidu je vše na svém místě, přehledně zorganizované a práce jde mnohem lépe od ruky. V programování to znamená například zjednodušování složitých podmínek, rozdělování příliš dlouhých funkcí na menší a logičtější celky nebo odstraňování duplicitního kódu.
Refactoring je klíčovou aktivitou pro správu a "splácení" technického dluhu. Pravidelná refaktorizace je jako prevence – zabraňuje tomu, aby se z malých nepořádků v kódu postupem času stala nepřehledná a neudržovatelná "džungle", ve které je každá další úprava pomalá, drahá a riskantní. Je to investice do budoucí rychlosti a stability vývoje, která odděluje profesionální přístup k softwaru od toho amatérského.