Jakmile máte přehled, začněte s revizí podle kritičnosti. Vyberte pět až deset nejdůležitějších uživatelských scénářů (např. registrace, platba, přihlášení) a ujistěte se, že pro každý existuje integrační test, který projde celým systémem. Zbývající scénáře nechte na jednotkové úrovni. Tím získáte jistotu, že se nerozbije to podstatné, a zároveň nezahltíte pipeline testy, které běží desítky minut. Typická chyba je snažit se pokrýt integračními testy i okrajové případy – to patří do jednotkových testů, kde je můžete izolovat a rychle opakovat.<br>
<br>
<br>
<br>
Pátá funkce, kterou stojí za to ovládnout, je modulový systém `import`/`export`. Umožňuje rozdělit kód na malé logické celky, které pak lze snadno testovat a znovu používat. Při práci s moduly dejte pozor na rozdíl mezi pojmenovaným a výchozím exportem. Nejčastější chybou začátečníků je míchat oba přístupy v jednom souboru bez rozmyslu, což vede k nepřehledným importům. Také si dejte pozor na cyklické závislosti – pokud modul A importuje modul B a ten zase A, může dojít k chybě inicializace.<br>
<br>
<br>
<br>
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.<br>
<br>
<br>
<br>
Nezapomínejte také na rychlost. Testovací pyramida není jen o počtu testů, ale o čase, který jejich spuštění zabere. Ideální je, když jednotkové testy běží do pěti minut, integrační do patnácti a E2E do hodiny. Pokud vám E2E běží déle, rozdělte je do skupin podle kritičnosti a spouštějte je v noci. Ale pozor – noční běh znamená, že chybu objevíte až ráno. Proto se vyplatí mít aspoň pár klíčových E2E testů v CI, které běží při každém commitu.<br>
<br>
<br>
<br>
Moderní JavaScript prošel od roku 2015 zásadní proměnou. Přibyly nové syntaxe, metody i datové struktury, které vám umožní psát kratší a čitelnější kód. Mnoho vývojářů se ale zasekne na starých zvycích – používají `var` místo `const`, řeší kopie objektů ručně nebo se bojí async/await. Tento článek se zaměří na pět konkrétních funkcí z ES6+, které byste měli znát a používat.<br>
<br>
<br>
<br>
Nakonec si změřte, čeho jste dosáhli. Použijte nástroj, který ukáže, kolik času zabere načtení jednotlivých prvků. Zaměřte se na největší blokující obsah, tedy na to, co brání zobrazení hlavního textu. Pokud vám test ukáže, že problém je v písmu, zvolte systémové fonty nebo optimalizujte jejich načítání. Po každé změně měření zopakujte a porovnejte. Jen tak zjistíte, které úpravy skutečně zabraly a které byly zbytečné.<br>
<br>
<br>
<br>
<img src="https://freestocks.org/fs/wp-content/uploads/2016/08/two_men_discussing-1024x683.jpg" style="max-width:400px;float:left;padding:10px 10px 10px 0px;border:0px;"><b>Čtvrtou vychytávkou jsou</b> nové metody pole jako `map`, `filter` a `reduce`. Ne že by byly úplně nové, ale v kombinaci s arrow funkcemi a destructuring se z nich stává neuvěřitelně expresivní nástroj. Například `users.filter(u => u.age >18).map(u => u.name)` vám v jedné řádce dá jména dospělých uživatelů. Typická chyba je zapomínat, že `map` vrací pole stejné délky – pokud chcete vynechat některé prvky, použijte `flatMap`. A `reduce` je mocný, ale jeho počáteční hodnota by měla být vždy explicitní, jinak hrozí zmatení s typy.<br>
<br>
<br>
<br>
Rychlost načítání webu rozhoduje o tom, zda návštěvník zůstane, nebo odejde ke konkurenci. Pomalé stránky také zhoršují pozici ve vyhledávačích. Optimalizace přitom nemusí být složitá ani drahá. Stačí se zaměřit na pět klíčových oblastí, které přinesou měřitelný výsledek během několika hodin práce.<br>
<br>
<br>
<br>
Jak se vyhnout nejčastějším zbytečnostem Mnoho začátečníků píše zbytečně složité selektory, jako div div p span. To je neudržitelné a při každé změně struktury se CSS rozbije. Používejte třídy s jasnými názvy a selektory držte ploché. Pokud chcete stylovat odkaz v navigaci, dejte mu třídu .nav-link a stylujte jen ji. Také se vyhněte používání !important, pokud to není nezbytně nutné. Tento příkaz přebije vše ostatní a později nebudete vědět, proč se něco nestyluje. Pokud narazíte na konflikt, raději upravte selektor, ne přidávejte !important.<br>
<br>
<br>
<br>
Co si pohlídat při prvním kole výběrového řízení Když už vás pozvou na technický pohovor, většinou nejde o to, abyste napsali dokonalý algoritmus. Spíše se testuje, jak přemýšlíte a jak se vypořádáte s neznámým zadáním. Typická chyba začátečníků je, že se snaží úlohu vyřešit co nejrychleji a zapomenou se ptát. Zeptejte se na očekávané vstupy, na výkonnostní limity a na to, co se stane, když přijdou nulová data. Tím ukážete, že uvažujete v souvislostech, a ne jen mechanicky.