Na závěr si ověřte, že váš editor umí správně pracovat s více jazyky v jednom souboru. Například pro HTML s vloženým CSS a JavaScriptem je nezbytné, aby editor zvýrazňoval syntaxi správně pro každou část. Pokud máte pocit, že zvýrazňování nefunguje, zkuste nainstalovat jazykovou podporu pro daný typ souboru nebo upravit asociaci přípon. To je rychlá oprava, která výrazně zlepší orientaci v kódu.
Když se řekne moderní JavaScript, většina vývojářů si představí šipkové funkce, destrukci nebo třídy. ES6 a novější verze ale nejsou jen o syntaktickém cukru – mění způsob, jakým přemýšlíte o stavu, datech a struktuře aplikace. Pokud stále píšete kód jako v roce 2010, přicházíte o nástroje, které zkracují chyby i čas. Tento článek se zaměřuje na konkrétní techniky, jejich použití a časté nástrahy, na které při přechodu narazíte.
Nakonec si osvojte práci s promisemi a async/await. Async/await je syntaktický cukr nad promisemi, ale výrazně zjednodušuje čtení asynchronního kódu. Místo řetězení `.then()` píšete sekvenční kód s `await`. Chyby ale musíte ošetřit pomocí `try/catch` – pokud await selže a nemáte catch, aplikace spadne. Nezapomeňte, že `await` funguje pouze v async funkcích, takže pokud ho potřebujete na nejvyšší úrovni v modulu, použijte tzv. top-level await (v moderních prohlížečích a Node.js). Pozor na paralelní volání: pokud na sobě nezávisí, použijte `Promise.all`, jinak čekáte sekvenčně a zbytečně prodlužujete dobu běhu.
Důležité je také nastavit správné kódování a konce řádků. Smíšené použití CRLF a LF je častým zdrojem chyb, zejména při spolupráci s kolegy na různých operačních systémech. V nastavení editoru si zvolte univerzální LF a v případě potřeby přidejte soubor .gitattributes, který sjednotí konce řádků i pro ostatní členy týmu. Vyhnete se tak situaci, kdy git hlásí změny v celém souboru jen kvůli odlišnému konci řádku.
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.
Prvním kritériem je povaha dat a jejich vztahů. Pokud máte hierarchická data nebo propojené entity, kde klient potřebuje různé podmnožiny polí, GraphQL vám ušetří spoustu práce. Klient si totiž požádá přesně o to, co potřebuje, a vy se nemusíte trápit s tvorbou desítek endpointů pro každou variantu. Typickým příkladem je mobilní aplikace, která potřebuje jen jméno a e-mail, zatímco webová verze chce i adresu a historii objednávek. S REST byste museli vytvořit dva endpointy nebo posílat zbytečně velká data.
S validací souvisí i jednotné zpracování chyb. Express má vestavěný mechanismus pro chybové middleware, který se definuje se čtyřmi argumenty (err, req, res, next). Vytvořte si centrální middleware pro chyby, který zaloguje detailní informace a vrátí klientovi pouze bezpečnou část. Nikdy nevracejte klientovi stack trace nebo interní chyby databáze. Pro produkční prostředí použijte generický formát chyby, který klientovi řekne, co se pokazilo a případně jak to opravit. Pro vývojové prostředí můžete vrátit více detailů.
Práce s více jazyky v jednom projektu je častou příčinou zbytečných chyb a ztrát času. Než začnete psát kód, věnujte patnáct minut konfiguraci prostředí. Otevřete nastavení editoru a zkontrolujte, zda máte pro každý jazyk přiřazený správný formátovač a linter. Mnoho vývojářů spoléhá na výchozí nastavení, které ale často ignoruje specifické konvence jednotlivých jazyků. Výsledkem jsou konflikty ve verzování, nejednotný styl a zbytečné opravy při code review.
Poslední doporučení se týká práce s daty a odpověďmi. Stanovte si jednotný formát pro úspěšné i chybové odpovědi. Například pro úspěch vracejte objekt s daty pod klíčem data a pro chybu objekt s klíčem error a popisem. Klient pak nemusí řešit různé struktury. Dále si pohlídejte HTTP status kódy – 200 pro úspěch, 201 pro vytvoření, 204 pro smazání, 400 pro špatný požadavek, 401 pro neautorizovaný přístup, 404 pro nenalezený zdroj. Správné status kódy nejsou formalita, ale důležitá součást API kontraktu. Pokud je nastavíte správně, ušetříte práci frontend vývojářům a dalším konzumentům API.
In the event you loved this information and you would want to receive more information relating to Proměna Bytu generously visit our web site.
