Refaktoring je úprava kódu, která zlepší jeho strukturu a nezmění, co software dělá. Refaktoring, nebo přepsání od nuly, je rozhodnutí o tom, kolik měsíců roadmapy jste ochotni zastavit. Většinou vyhraje refaktoring po malých krocích, protože produkt během něj dál vydělává.
Přepsání od nuly dává smysl ve třech případech: kód dělá špatnou věc, nevlastníte ho, nebo stojí na technologii bez podpory. Níže je rozhodovací tabulka a postup, jak refaktorovat bez zastavení roadmapy.
AI dnes píše všechen náš kód, za výsledek ručí senior. Filip předtím roky vyvíjel SaaS, který denně používalo 60 000+ lidí. Ani jednou se nepřepisoval od nuly. Měnil se malými změnami přes review, přímo v živém produktu.
Proč je velké přepsání skoro vždy dražší, než se zdá?
Přepsání vypadá čistě, protože nový kód ještě nemá historii. Tu historii ale potřebujete. Za každou divnou podmínkou ve starém kódu bývá něčí reklamace.
Nejčastější důvody, proč se přepsání prodraží:
Přepsání od nuly
Ztratíte opravy. Starý kód obsahuje roky drobných oprav a zákazníci chyby najdou znovu.
Platíte dva systémy. Dokud přepsání není hotové, starý je potřeba udržovat a rozvíjet.
Roadmapa stojí. Obchod čeká na funkce a nový systém zpočátku umí méně než starý.
Cíl utíká. Než přepsání dožene starý systém, ten má nové funkce.
Tyto náklady nemá
Refaktoring po krocích
Produkt běží a dál vydělává.
Zákazníci nic nepoznají.
Každou změnu jde vrátit.
Nové funkce jdou souběžně s refaktoringem.
Kdy refaktorovat a kdy přepsat: rozhodovací tabulka
Situace
Co doporučujeme
Proč
Kód dělá správnou věc, ale špatně se mění
Refaktoring
Chování chcete zachovat, měníte jen tvar kódu.
Chybí testy
Nejdřív testy, potom refaktoring
Bez testů nevíte, co jste rozbili.
Jedna část brzdí všechno ostatní
Nahradit tuto část, zbytek refaktorovat
Jeden modul za stabilním rozhraním je zvládnutelný.
Kód dělá špatnou věc, byznys se změnil
Přepsat tuto část
Nemá smysl zachovávat chování, které nechcete.
Kód nevlastníte nebo k němu nemáte přístup
Nový systém a přesun dat
Není co refaktorovat.
Technologie nemá podporu ani bezpečnostní záplaty
Postupná migrace
Přesouvejte po částech, ne všechno najednou.
Nikdo v týmu kódu nerozumí
Nejdřív pochopit, potom rozhodnout
Nepochopený kód není důvod k přepsání. Je to důvod k testům.
Pozor na poslední řádek. „Nikdo tomu nerozumí“ je nejčastější argument pro přepsání. Zároveň nejhorší. Nový tým, který starému kódu nerozumí, ho přepíše bez oprav, které v něm jsou.
Přepsání bývá i nejjednodušší upsell. Při auditu produktu jednoho zakladatele se nabízelo monorepo a přepsání backendu do TypeScriptu. Napsali jsme opak: repozitáře jsou v pořádku, TypeScript přidávejte po modulech a začněte přihlášením a právy.
Jak refaktorovat bez zastavení roadmapy?
01
Testy na současné chování
Nejdřív popište, co systém dělá dnes, i s chybami. Teprve potom měňte.
02
Malé kroky v běžném toku
Žádná větev, která se měsíc nezmerguje. Každá změna projde review a CI.
03
Refaktorujte tam, kde děláte funkci
Kód, na který měsíc nikdo nesáhne, může počkat.
04
Novou část stavějte vedle staré
Přepínejte postupně, dokud starou nemůžete vypnout.
05
CI, které opravdu zastaví špatnou změnu
Zelená fajfka bez testů nic nedokazuje.
AI tu dělá to, co je pomalé a nudné. Testy na existující chování, přesuny kódu, přejmenování. Senior rozhoduje, co se mění a v jakém pořadí. Jaká pravidla na to AI dáváme, popisujeme v článku Pravidla pro AI kód v týmu.
Když máš testy, refaktoring jde snadno.
Filip Papranec
zakladatel Digitaliko
Bez testů a review vám AI technický dluh jen zrychlí. Proto říkáme, že agent je model plus rámec. Rámec je to, co špatnou změnu zastaví.
Kdy je přepsání od nuly správná volba?
Když kód nevlastníte. Pokud původní systém nepatří vám, není co refaktorovat: postaví se nový a data se přesunou.
I při přepsání platí stejné pořadí. Nejdřív data a pochopení, co systém opravdu dělá. Potom obrazovka po obrazovce, ne všechno v jeden den.
Před rozhodnutím si projděte šest bodů. Zaškrtněte, co o vašem systému platí:
Nejvíc váží čtvrtý bod. Pokud kód dělá správnou věc, jen špatně, refaktorujte.
Kdy to nedoporučujeme
Máte seniora, který systém zná a má na něj čas. Refaktorujte sami. Tabulka výše vám stačí.
Systém se za pár měsíců vypíná. Neinvestujte do kódu, který končí. Investujte do přesunu dat.
Chcete rozhodnout s někým, kdo to dělá denně?
Senior se zapojí do vašeho repozitáře a pull requestů od prvního dne. Nejdřív testy, potom změny po malých krocích a roadmapa běží dál. Takhle pracujeme jako externí vývojář pro produktový tým.
Napište nám, která část kódu vás brzdí. Ozveme se do dvou pracovních dnů a společně vybereme, co vyřešíme jako první.
Refaktorujte, když kód dělá správnou věc, ale špatně se mění. Přepište ho, když dělá špatnou věc, kód nevlastníte nebo technologie ztratila podporu. I pak přepisujte po částech, ne najednou.
Dá se refaktorovat bez testů?
Dá, ale je to hazard. Nejdřív napište testy na současné chování, i s jeho chybami. Teprve potom měňte kód. Bez testů se o chybě dozvíte od zákazníka.
Jak dlouho trvá refaktoring?
Nemá pevný konec a to je v pořádku. Dělá se průběžně v běžných pull requestech, tam, kde právě pracujete. Samostatný refaktoringový projekt na měsíce se většinou nedokončí.
Pomůže AI s refaktoringem?
Ano, při psaní testů, přesunech kódu a přejmenování. Rozhodnutí, co měnit a v jakém pořadí, zůstává na seniorovi. Bez testů a review AI chyby jen zrychlí.
Zeptejte se AI na tento článek
AI při odpovědi využije i naše další články a zkušenosti z reálných projektů.
Claude Code pricing podle veřejného ceníku Anthropicu (říjen 2026): Pro, Max, Team seaty, Enterprise a API tokeny. Co se hodí vývojářům, na čem běží agent na pozadí a CI reviewer, a pojistky, které agentovi nedovolí projet rozpočet.
Vercel jsme nenahradili, práci jsme rozdělili. Next.js weby zůstávají na Vercelu, nové aplikace běží na Cloudflare Workers a D1, popsané v TypeScriptu přes Alchemy. Ceny se zdroji, naše konfigurace a zablokovaný deploy od AI agenta.
Better Auth vs Clerk se rozhoduje podle toho, kde žijí vaši uživatelé a session. Z NextAuth jsme v nových aplikacích přešli na Better Auth a Clerk jsme si nevybrali. Naše reálná konfigurace, pluginy v produkci, ceník Clerku a kdy je Clerk lepší volba.