Co se stane, když testy stavíte bez pyramidy
Druhým nejužitečnějším nástrojem je extrakce. Logika, která se opakuje ve více metodách, by měla být vyčleněna do samostatné metody. Označte blok kódu, stiskněte zkratku pro � Method" (např. Ctrl+Alt+M) a IDE vytvoří novou metodu s vhodnými parametry. Tím získáte čistší strukturu bez ručního kopírování. Upozornění: extrakce dává smysl až ve chvíli, kdy je blok skutečně nezávislý – pokud používá mnoho lokálních proměnných, výsledek může být nepřehledný. V takovém případě nejprve zjednodušte logiku pomocí jiných nástrojů, třeba inline (opak extrakce).
Když přecházíte z JavaScriptu na TypeScript, první dny vypadají jako boj s kompilátorem. Než si ale osvojíte pár základních principů, zjistíte, že většina chyb, které jste dříve lovili hodiny v prohlížeči, se prostě neobjeví. TypeScript není nový jazyk – je to nadstavba, která přidává typy a tím mění způsob, jakým přemýšlíte o kódu. Nejdůležitější je přestat vnímat typy jako překážku a začít je brát jako dokumentaci, která se sama kontroluje.
Začněte tím, že si definujete tři vrstvy. Nejnižší jsou jednotkové testy – testují jednu funkci nebo třídu bez závislostí. Střední vrstva patří integračním testům, které ověřují spolupráci dvou nebo více komponent, třeba databáze s repozitářem. Na vrcholu jsou end-to-end testy, které procházejí celou aplikací, jakoby ji používal skutečný uživatel. Typický poměr je sedmdesát procent jednotkových, dvacet procent integračních a deset procent end-to-end. Tento poměr není dogma, ale výchozí bod, od kterého se můžete odchýlit podle svého projektu.
Dalším krokem je minimalizace kódu. Ze souborů CSS a JavaScript odstraňte bílé znaky, komentáře a nevyužité pravidla. Dnes to zvládnou automatické nástroje, které spustíte jedním příkazem. Dávejte si ale pozor na kombinaci souborů. Pokud sloučíte vše do jednoho velkého souboru, prohlížeč ho musí stáhnout celý, i když potřebuje jen malou část. Místo toho rozdělte kód na kritický a nekritický. Kritický vložte přímo do HTML, zbytek načtěte až po načtení stránky.
Zkontrolujte si také počet přesměrování. Každé přesměrování znamená další komunikaci mezi prohlížečem a serverem, a tím i zpoždění. Ujistěte se, že odkazujete přímo na finální adresu, a nepoužívejte zbytečné řetězce, kdy se stránka přesměruje třikrát za sebou. Stejně tak se vyhněte velkému množství pluginů, které do stránky vkládají vlastní skripty. Jeden špatně napsaný doplněk dokáže zpomalit celý web.
Nejčastější chyba: používání any jako berličky Když narazíte na chybu, kterou nechcete řešit, nejjednodušší je napsat any. Tím ale vypnete kontrolu typů a vrátíte se zpět do JavaScriptu. Místo toho se snažte najít konkrétní typ – pokud nevíte, jaký tvar objektu přijde, použijte unknown a poté data zúžte pomocí podmínky. Například místo let data: any napište let data: unknown a před použitím ověřte, že jde o pole. Tento přístup vás donutí myslet na to, co skutečně od dat očekáváte.
Správné používání nástroje B3du je o trpělivosti a systematičnosti. Nečekejte, že vám zázračně vyřeší všechny problémy. Místo toho se zaměřte na to, abyste s ním pracovali efektivně. Využívejte klávesové zkratky, naučte se pracovat s vrstvami a nezapomínejte na správu barev. Každý projekt je jiný, a proto se nebojte kombinovat různé postupy. Časem zjistíte, co vám vyhovuje, a práce vám půjde rychleji. Pokud teprve začínáte, vezměte si jeden krátký klip a projděte si celý proces od začátku do konce — to je nejlepší škola.
U jednotkových testů si dejte pozor na testování implementace místo chování. Testujte, co funkce dělá, ne to, jak to dělá. Když test začnete plnit kontrolami vnitřních stavů, každá refaktorizace kódu test rozbije, i když chování zůstává stejné. U integračních testů zase hrozí, že budete testovat samotnou databázi, což je zbytečné. Zaměřte se na to, aby test prokázal, že vaše vrstvy spolu správně komunikují, ne že databáze funguje – to už ověřil její výrobce.
Na závěr nezapomínejte, že TypeScript je jen nástroj. Neřešte typy za každou cenu – pokud je projekt malý a rychlost je důležitější než dlouhodobá udržovatelnost, klidně použijte any tam, kde to dává smysl. Ale jakmile projekt roste, rekonstrukce koupelny krok za krokemčněte typy zpřísňovat. Nejlepší strategie je zapnout přísný režim (strict) hned na začátku projektu. Bolí to prvních pár dní, ale po měsíci zjistíte, že se vám lépe pracuje, protože kód je srozumitelnější a chyby se objevují dřív, než stihnou něco rozbít.
Když přichází na řadu export, většina problémů vzniká zbytečně. B3du umožňuje exportovat v mnoha formátech, ale ne všechny jsou vhodné pro každý účel. Pokud chcete video sdílet online, zvolte standardní formát, který je kompatibilní s většinou přehrávačů. Pokud ho chcete dál upravovat v jiném programu, vyberte bezztrátový kodek. Zde platí jednoduché pravidlo: méně komprese na začátku znamená více kvality na konci. A když si nejste jistí, vyzkoušejte export na krátkém úseku — uvidíte, jak se výsledek chová, a nebudete muset čekat hodiny.