Začínáme s TypeScriptem: praktický průvodce pro JS vývojáře

Jak sdělit odhad, aby vzbuzoval důvěru Při sdělování odhadu vždy uveďte, z čeho vycházíte. Klient ocení, když mu řeknete: „Na základě podobných projektů předpokládám, že to zvládneme do tří týdnů." Tím dáváte najevo, že nejde o náhodné číslo. Zároveň si ověřte, zda klient rozumí tomu, že odhad může kolísat. Navrhněte si společný postup pro případ, že se práce protáhne – klienta informujte předem, ne až ve chvíli, kdy je problém na světě. Pokud cítíte, že klient tlačí na nereálně krátký termín, nebojte se říct, že to nejde, a vysvětlit proč.<br> <br> <br> <br> Základní princip pytestu je jednoduchý: píšete funkce, které začínají slovem test_, a uvnitř nich používáte příkazy assert. Pytest sám najde všechny soubory a funkce podle konvence pojmenování. Nemusíte nic registrovat ani dědit z nějaké třídy. Stačí mít soubor s názvem třeba test_math.py a v něm funkci test_add(). Když spustíte pytest v adresáři projektu, projde všechny soubory, které odpovídají vzoru test_*.py nebo *_test.py, a spustí všechny funkce test_*.<br> <br> <br> <br> Další užitečnou funkcí je objektová zkratka – pokud vytváříte objekt z proměnných se stejným názvem, stačí napsat jmeno, vek místo jmeno: jmeno, vek: vek . A nezapomeňte na spread operátor (...), který umožňuje kopírovat pole nebo objekty, slučovat je nebo předávat argumenty do funkcí. Například const novePole = [...pole1, ...pole2];. Zde je častá chyba – hluboké kopírování vnořených objektů spreadem nefunguje, jen mělká kopie. Pro složitější struktury použijte strukturované klonování nebo serializaci.<br> <br> <br> <br> Základním stavebním kamenem je požadavek. Vyberte metodu (GET, POST, PUT, DELETE) a zadejte URL adresu cílového endpointu. Pro testování často používáte lokální server, proto nezapomeňte na správný port. Po odeslání požadavku se zobrazí odpověď – status kód, hlavičky a tělo. Pro rychlou orientaci využijte barevné zvýraznění: zelená pro úspěšné kódy, červená pro chyby. Tělo odpovědi si přepněte do formátu JSON, pokud server vrací strukturovaná data.<br> <br> <br> <br> Než začnete mluvit o termínech, zjistěte si co nejvíce informací o zadání. Pokud zadání není kompletní, řekněte to nahlas. Klientovi vysvětlete, že odhad bez detailů je jako jízda bez mapy. Stanovte si interní rezervu – nepočítejte jen s optimálním průběhem, ale i s menšími komplikacemi, které se běžně stávají. Do odhadu zahrňte i čas na kontrolu, komunikaci a případné úpravy. Mnozí dělají chybu, že odhadnou čistý pracovní čas a pak bojují s každým dnem zpoždění.<br> <br> <br> <br> Na závěr si zkuste osvojit práci s generickými typy. Umožňují vám psát funkce a komponenty, které pracují s různými datovými typy, aniž byste ztratili typovou bezpečnost. Typický příklad je funkce, která vrací první prvek pole – díky generice si zachováte přesný typ prvku, místo abyste vraceli any. Tím se váš kód stane flexibilnější a zároveň bezpečnější. Nebojte se experimentovat a postupně typy rozšiřovat – čas, který investujete do učení, se vám vrátí na menším počtu chyb a rychlejším ladění.<br> <br> <br> <br> Destrukce objektů a polí vám umožní rozbalit hodnoty do samostatných proměnných. Místo const jmeno = user.jmeno a const email = user.email napíšete const jmeno, email = user;. To zkracuje kód a eliminuje opakování. U polí pak: const [prvni, druhy] = [1, 2, 3];. Častou chybou je destrukce bez definované výchozí hodnoty – pokud vlastnost neexistuje, proměnná bude undefined. Použijte const jmeno = 'Host' = user; a vyhnete se tak neočekávaným chybám.<br> <br> <br> <br> Když se řekne moderní JavaScript, většina vývojářů si představí šipkové funkce, template literály nebo destrukci. Tyto prvky z ES6 a novějších verzí nejsou jen syntaktický cukr – mění způsob, jakým píšete kód. Pokud stále používáte staré vzory, přicházíte o čitelnost i výkon. Pojďme se podívat na konkrétní funkce, které byste měli znát a používat.<br> <br> <br> <br> Když začnete psát první unit test, nejčastější chybou je snaha pokrýt najednou příliš mnoho logiky. Test by měl ověřovat přesně jednu věc – jednu funkci, jednu metodu, jeden scénář. Než začnete, otevřete si kód, který chcete testovat, a napište si na papír tři základní věci: co funkce přijímá, co vrací a jaké má vedlejší efekty. Pokud funkce komunikuje s databází, soubory nebo sítí, test se výrazně zkomplikuje – proto je lepší začít u čistých funkcí, které jen zpracují vstup a vrátí výstup.<br> <br> <br> <br> Pamatujte, že cílem není vyhnout se slibům za každou cenu, ale slibovat jen to, co můžete splnit. Když se naučíte komunikovat odhady jako pracovní nástroj, ne jako věštbu, získáte si respekt a klienti se k vám budou rádi vracet. A to je lepší než sto rychlých, ale nesplněných termínů.