ES6 v praxi: moderní JavaScript bez zbytečné teorie
Šipkové funkce jsou další nezbytností. Zkracují zápis, ale hlavně nemají vlastní this – dědí ho z okolního kontextu. To se hodí při práci s událostmi nebo v metodách pole jako map, filter nebo reduce. Pokud ale potřebujete funkci, která má vlastní this (např. metoda objektu), šipkovou funkci nepoužívejte. Častá chyba je kombinace šipkové funkce s arguments – ten v ní nefunguje, musíte použít rest parametry (...args).
Jednoduchý test může vypadat takto: def test_soucet(): assert 1 + 1 == 2. Když test spustíte, pytest zobrazí přehledně, kolik testů prošlo a kolik selhalo. Pokud test selže, vypíše podrobnosti o tom, kde a proč k selhání došlo. Tím získáte rychlou zpětnou vazbu. Pro lepší organizaci můžete testy rozdělit do více souborů a složek – pytest automaticky prohledává všechny soubory odpovídající vzoru test_*.py nebo *_test.py.
Na závěr: moderní JavaScript není o tom, používat všechny novinky za každou cenu. Začněte s const/let, šipkovými funkcemi a template literals, protože ty mají největší dopad na čitelnost. Postupně přidejte destrukturalizaci a async/await. Vyhnete se tak přeplácanému kódu, který je těžké udržovat. Až budete mít tyto základy v malíku, podívejte se na moduly, třídy nebo nové metody polí – ale vždy je používejte s rozmyslem a podle potřeby projektu.
Začněte tím, že si definujete tři oblasti, na které se budete ptát: co funguje, co nefunguje a co bychom chtěli zkusit. Tyto oblasti napište na tabuli nebo do sdíleného dokumentu a dejte každému 5–10 minut na tiché zapsání svých postřehů. Teprve poté otevřete diskusi. Tento postup zabrání tomu, aby se první řečník stal hlavním tématem a ostatní se k němu jen přidávali. Každý bod pak procházejte jednotlivě a ptejte se: „Co konkrétně jsi tím myslel?" nebo „Jak to vidíš, že bychom to mohli změnit?"
Když přijde na responzivní design, mnoho vývojářů stále sahá po zastaralých postupech, jako jsou floaty nebo tabulkové rozvržení. Přitom moderní CSS nabízí dva mocné nástroje – Flexbox a Grid. Každý z nich má své silné stránky a správná kombinace vám ušetří hodiny ladění. Nejdřív si ale ujasněte, co vlastně potřebujete: Flexbox je ideální pro lineární uspořádání prvků v jedné ose, zatímco Grid zvládá dvourozměrné rozvržení s přesnými sloupci a řádky.
Nejprve je potřeba pytest nainstalovat. To provedete příkazem pip install pytest v terminálu. Po instalaci vytvořte soubor s názvem test_example.py. Název musí začínat nebo končit slovem test, aby pytest soubor automaticky našel. V tomto souboru definujte funkce, jejichž názvy také začínají test_. Uvnitř funkcí použijte běžné assert pro ověření výsledku. Pytest pak spustíte příkazem pytest v adresáři s testem.
Jak test napsat a spustit Použijte testovací framework, který je standardem pro váš jazyk. V Javě to je JUnit, v PHP PHPUnit, v JavaScriptu Jest nebo Vitest. Instalace trvá pár minut a většina editorů má integrovanou podporu. Struktura testu je vždy stejná: připravíte vstup, zavoláte testovanou metodu a porovnáte očekávaný výsledek se skutečným. Pro porovnání použijte assert – metodu, která test buď projde, nebo selže s jasnou hláškou.
Destrukturalizace a template literals vám ušetří spoustu psaní. Místo const a = obj.a; const b = obj.b; zkuste const a, b = obj; – kód je čitelnější a méně náchylný k překlepům. Template literals (zpětné uvozovky) umožňují vkládat proměnné přímo do řetězce: `Ahoj, $jmeno!`. Pozor ale na escapování – pokud v řetězci potřebujete zpětnou uvozovku, musíte ji předescapovat, jinak dojde k syntax error.
Praktický postup pro první automatizační skript Vezměte si jednoduchou úlohu: třídění souborů podle přípony do složek. Nejdříve napište kód, který vypíše seznam souborů v dané složce, poté přidejte podmínku pro kontrolu přípony a nakonec přesun souborů. Každou část otestujte zvlášť. Častou chybou je spoléhat na absolutní cesty – používejte relativní cesty nebo modul pro práci s cestami, aby skript fungoval i po přesunutí projektu. Nezapomeňte na výjimky: pokud cílový adresář neexistuje, program by měl ošetřit chybu a vytvořit ho.
Typická chyba začátečníků je testovat příliš mnoho v jednom testu. Jeden test by měl ověřovat jedno chování. Pokud testujete formátování data, neověřujte zároveň práci s časovými pásmy. Pokud test selže, mělo by být okamžitě jasné, která část kódu je rozbitá. Další častý problém je spoléhat se na konkrétní implementaci – test pak musíte měnit pokaždé, když upravíte vnitřek metody. Testujte rozhraní, ne to, jak metoda funguje uvnitř.
Kombinace obou technik a typické chyby Ideální postup je kombinovat Grid a Flexbox tam, kde se hodí. Například hlavní oblast s kartami produktů nadefinujete jako Grid, ale každou kartu uvnitř necháte jako Flexbox, abyste snadno zarovnali popisek, cenu a tlačítko. Velkou chybou je však slepě používat Grid na všechno, včetně malých komponent, kde by stačil Flexbox. Grid pak zbytečně komplikuje kód a ztěžuje jeho údržbu. Pamatujte, že Flexbox je skvělý na rozložení obsahu, Grid na rozložení samotné stránky.