Jak využít ES6+ funkce v praxi

Rene 26-08-22 06:28 2 0

Struktura testu a časté chyby Základním stavebním kamenem každého testu je metoda označená atributem [Test]. Zkušení vývojáři ale vědí, že klíčová je i struktura uvnitř metody. Nejlépe se osvědčuje rozdělení do tří fází: Arrange – připravíme vstupní data a objekty, Act – provedeme testovanou operaci, Assert – ověříme výsledek. Tato posloupnost usnadňuje čtení a údržbu testů, a proto by měla být dodržována i v menších projektech.

Destrukturalizace a defaultní hodnoty Destrukturalizace umožňuje rozbalit objekty a pole do proměnných. Místo „const a = obj.a; const b = obj.b;" píšete „const a, b = obj;". U funkcí se hodí nastavit výchozí hodnoty parametrů: „function test(x = 1, y = 2 = {})". Pozor na to, že defaultní hodnoty se aplikují jen tehdy, když je hodnota „undefined", ne když je null. Častá chyba je zapomenout na výchozí prázdný objekt, což vede k chybě při přístupu k vlastnosti.

Jakmile máte Git připravený, vytvořte si novou složku pro projekt a přejděte do ní v terminálu. Inicializujte repozitář příkazem git init. Tím vytvoříte skrytou složku .git, kde Git ukládá všechny informace o historii. Nyní můžete začít přidávat soubory. Pomocí git status zjistíte, které soubory jsou nové nebo změněné. Příkazem git add . přidáte všechny soubory do takzvané „připravené oblasti" (staging area). Poté provedete první commit příkazem git commit -m "První verze projektu". Commit je snímek vašich souborů v daném okamžiku, ke kterému se můžete kdykoli vrátit.

Dodržujte formátování. I když to zní banálně, jednotné odsazování (2 mezery), středníky a konzistentní používání uvozovek výrazně zlepšují přehlednost. Vyhněte se psaní více příkazů na jeden řádek. Každý příkaz na vlastní řádek. Pokud máte složitou podmínku, uložte ji do pojmenované proměnné: „const isUserEligible = user.age >18 && user.verified;". Tím se podmínka stane samodokumentující.

Pojmenovávání a konzistence Volba názvů je klíčová. Vyhněte se zkratkám jako „usr, txt, val" a používejte plná slova: „user, text, value". Pro boolean hodnoty používejte slovesa jako „isActive, hasAccess, canEdit". Funkce pojmenujte podle toho, co dělají: „getUserById" je jasné, „processUser" je vágní. Buďte důslední v tom, jak názvy tvoříte. Pokud používáte „fetchData" pro API volání, nepoužívejte „ziskejData" v jiné části kódu. Jeden projekt = jedna konvence. Tato disciplína eliminuje zbytečné dohady při čtení.

Nejčastější chybou bývá testování více aspektů najednou. Pokud test selže, nevíte, která část kódu je špatně, a musíte ztrácet čas debuggingem. Snažte se, aby každý test ověřoval jednu konkrétní věc – jeden výstup, jednu výjimku nebo jeden stav objektu. Dalším problémem je používání reálných databází či souborů. To dělá testy pomalé a nespolehlivé, protože závisí na prostředí. Místo toho používejte falešné objekty (fakes) nebo in-memory implementace rozhraní, které jsou rychlé a předvídatelné.

Pro lepší čitelnost používejte nové metody polí jako „map", „filter" nebo „reduce" místo cyklů. Ale mějte na paměti, že tyto metody vytvářejí nová pole, což může být neefektivní pro velké datové sady. V takovém případě zvažte generator funkce nebo „for…of". Klíčem k úspěchu je kombinace nových funkcí s rozumným výběrem; ne všechno je nutné použít všude.

Nakonec si osvojte používání atributů [SetUp] a [TearDown] pro inicializaci a úklid prostředí. [SetUp] se spouští před každým testem a zajistí, že každý test začíná ve známém stavu. [TearDown] se postará o uvolnění zdrojů. Pozor ale na nadměrné používání [SetUp] – pokud testy vyžadují různé konfigurace, raději vytvořte více tříd testů. Díky NUnit také můžete psát asynchronní testy, stačí aby metoda vracela Task a označila se [Test]. Tím se vyhnete problémům s blokováním vláken a testy běží rychleji.

Template literály nahrazují skládání řetězců a umožňují vícenásobné řádky bez „
". Navíc podporují vložené výrazy: Rekonstrukce Bytu „Pozdrav: $name". V praxi si dejte pozor na escapování zpětných uvozovek a na to, že šablony nejsou HTML escapování – pokud vkládáte uživatelský obsah, vždy ho sanitizujte. Jinak se vystavujete riziku XSS.

Při psaní testů narazíte i na situace, kdy potřebujete ověřit, že kód správně vyhazuje výjimku. V NUnit k tomu slouží Assert.Throws nebo asynchronní varianta Assert.ThrowsAsync. Důležité je netestovat jen to, že výjimka nastane, ale také že má správný typ a případně zprávu. Pokud testujete návratové hodnoty, používejte raději ekvivalenci než referenci – tedy Assert.AreEqual místo Assert.AreSame, protože porovnává obsah objektů, ne jejich umíbarvy stěn do obývákuí v paměti.

For those who have almost any queries relating to exactly where along with the way to use na této stránce, you can e mail us in the webpage.

댓글목록

등록된 댓글이 없습니다.