DX Heroes logo
#engineering
#principles

Co je YAGNI (You Aren't Gonna Need It)?

Délka: 

4 min

Publikováno: 

9. června 2026

Co je YAGNI (You Aren't Gonna Need It)?

Co je YAGNI?

YAGNI je zkratka anglického „You Aren't Gonna Need It“ (volně „tohle nebudete potřebovat“). Je to princip návrhu softwaru, podle kterého máte funkci, abstrakci nebo nastavení přidat až ve chvíli, kdy je opravdu potřebujete, ne proto, že je možná budete potřebovat někdy v budoucnu. Princip pochází z Extreme Programmingu, kde s ním Kent Beck a Ron Jeffries vedli týmy k tomu, aby řešily nejjednodušší věc, která teď funguje.

Lidsky řečeno

YAGNI je inženýrská obdoba pravidla „nebalte se na výlet, který jste ještě nerezervovali“. Dokážete si vymyslet stovku věcí, které byste jednou mohli chtít, ale většina z nich nikdy nepřijde. Každou funkci „do zásoby“ stejně musíte napsat, otestovat a udržovat, takže stavět pro vymyšlenou budoucnost vás obvykle stojí víc, než kolik ušetříte. Vyřešte problém, který máte před sebou. Až budoucnost přijde, postavíte řešení pro ni, ve chvíli, kdy budete opravdu vědět, co potřebuje.

Proč YAGNI vzniklo

Vývojáři jsou zvyklí myslet dopředu a ten instinkt se hodí. Potíž začne ve chvíli, kdy se „myšlení dopředu“ zvrhne v psaní kódu pro požadavky, které nikdo nepotvrdil. Takový kód „do zásoby“ není zadarmo:

  • Někdo ho musí napsat a otestovat, což zdrží práci, která se reálně dostane do produkce.
  • Zůstane v kódu jako další plocha, kterou musíte číst, ladit a udržovat funkční při každé další změně.
  • Často je navíc špatně, protože odhady budoucích požadavků se málokdy trefí do toho, co budoucnost nakonec opravdu chce.

YAGNI je protiváha. Drží systém dost malý na to, aby se v něm části, které si své místo zaslouží, snadno hledaly a měnily.

Kdy to platí

  • Přistihnete se, jak říkáte „tohle budeme možná potřebovat“. Jasnější spouštěč YAGNI neexistuje. Pokud je ta potřeba reálná, pojmenujte ji a postavte. Pokud je to jen odhad, vynechte to.
  • Přidáváte přepínač v konfiguraci, vrstvu zásuvných modulů nebo obecnou abstrakci kvůli jedinému použití. Jeden volající kód ještě neospravedlní celý framework. Počkejte na druhý a třetí reálný případ, než začnete zobecňovat.
  • Děláte revizi pull requestu, který dělá víc, než zadání chtělo. Práce navíc se hůř reviduje, testuje i vrací zpět. Ptejte se, jestli každý přídavek odpovídá potřebě, kterou máte dnes.
  • Pracujete s AI asistentem na kód. Nástroje jako Cursor nebo Claude Code vám ochotně vygenerují složité „neprůstřelné“ lešení pro budoucnost. YAGNI je způsob, jak poznat, co z toho si necháte a co smažete.

Na co si dát pozor

  • Berete YAGNI jako výmluvu, proč přeskočit pořádný návrh. YAGNI se týká vymyšlených funkcí, ne požadavků, které už znáte. Známá potřeba není YAGNI.
  • Pletete si ho s osekáváním kvality. Testy, ošetření chyb a srozumitelné názvy nejsou nadstandard. YAGNI seká nepotřebný rozsah, ne pečlivost, díky které je nasazený kód spolehlivý.
  • Používáte ho k vyhrávání hádek místo k rozhodování. „YAGNI“ vykřiknuté na každý návrh přestává být princip a stává se z něj reflex. Poctivá otázka je pořád stejná: máme pro tohle reálnou potřebu právě teď?
  • Zapomínáte, že některá rozhodnutí se mění draho. Datový model nebo veřejné API se později předělává nákladně. U nich se trocha rozmyslu vyplatí víc než přepisování. YAGNI sedí nejlíp tam, kde je návrat zpátky levný.

Související články

  • Co je to Vibe coding? - Tvorba softwaru promptováním AI místo ručního psaní kódu, kde na disciplíně v rozsahu záleží o to víc.
  • Context engineering: nová dovednost vývojářů - Jak dát AI správný kontext, a jen ten správný, abyste dostali užitečný výstup.
  • Co je Developer Experience a proč na něm záleží? - Proč menší a srozumitelnější kód zrychluje práci každého vývojáře.

Chcete být o krok napřed?

Nenechte si utéct naše nejlepší postřehy. Žádný spam, jen praktické analýzy, pozvánky na exkluzivní eventy a shrnutí podcastů přímo do vaší schránky.