YAGNI: You Aren’t Gonna Need It
YAGNI říká: neimplementujte nic, co teď nepotřebujete. Většinu předem připravených funkcí totiž nikdy nevyužijete – jen komplikují vývoj, údržbu a čitelnost kódu.
Princip YAGNI (You Aren’t Gonna Need It, nebudete to potřebovat) pochází z extrémního programování a slouží jako praktická brzda předčasné složitosti. Základní pravidlo zní: nedělej nic navíc, dokud k tomu nemáš reálný důvod. Nepřidávej konfigurace, rozhraní ani architektonické vrstvy jen proto, že by se „někdy mohly hodit“. Většinou se totiž nehodí.
Například: máte jednu platební bránu, ale někdo navrhne vytvořit obecné rozhraní pro případné další. Rok uplyne, zůstáváte u jedné brány – zato vám přibyl kód, který nikdo nechápe, je těžší na testování a jen komplikuje údržbu.
YAGNI neobhajuje špatný kód ani odkládání technického dluhu. Jde o to nevymýšlet funkce bez ověření skutečné potřeby. Kód má být čistý, ale ne přechytralý. Rozšiřuj teprve ve chvíli, kdy existuje skutečný důvod: validovaný požadavek, konkrétní problém nebo nový zákazník.
Zkušenosti ukazují, že většina „preventivního kódu“ buď nebude nikdy potřeba, nebo se stejně bude muset předělat. YAGNI tak pomáhá omezit plýtvání, snížit technický dluh a udržet vývoj soustředěný na aktuální hodnotu.
Dodržovat YAGNI je těžší, než se zdá – ego, obavy a touha být připraven je silná. Ale právě proto ho potřebujeme.