Kdy zvolit REST a kdy GraphQL: rozhodněte se správně
Autres actions
Dalším úskalím je podceňování oprav chyb a technického dluhu. Ve stávajícím kódu se při implementaci nové funkce často objeví problém, který nesouvisí s vaším úkolem, ale musí se vyřešit, aby vše fungovalo. Mějte v odhadu vyhrazenou dobu na „nečekané ladění", která pokryje i tyto situace. Dobrým pravidlem je rozdělit práci na dílčí kroky a každý z nich ohodnotit dvěma čísly: optimistickým a pesimistickým. Výsledný odhad pak nechte mezi těmito hodnotami, blíže k pesimistickému konci.
Když se řekne optimalizace SQL dotazů, většina vývojářů si představí přidání indexu. To je sice klíčový krok, ale často se zapomíná na to, že samotná struktura dotazu dokáže výkon ovlivnit stejně výrazně. Než začnete přidávat indexy, podívejte se na to, co dotaz skutečně dělá. Mnozí se spokojí s tím, že dotaz vrátí správná data, ale už neřeší, kolik zbytečné práce databáze vykoná navíc. Přitom stačí pár drobných úprav, aby se doba odezvy zkrátila na zlomek původní hodnoty.
Další past je nepoužívání validátorů. Po napsání kódu si ho projděte v nástroji pro kontrolu syntaxe. HTML a CSS mají přísná pravidla a chybějící uvozovka nebo špatně zapsaná hodnota může rozbít celou stránku. Validátor najde chyby, které byste jinak hledali hodiny. Také se vyplatí testovat v různých prohlížečích, protože každý má drobné odchylky. Nezapomínejte ani na přístupnost: alt texty u obrázků, správné nadpisy a kontrast barev. To není jen o etice, ale i o SEO a použitelnosti pro všechny uživatele.
Další pastí je, když se konfigurace mění často a bez komunikace. Každá změna by měla být v pull requestu, kde ji ostatní vidí a můžou se vyjádřit. Nedělejte změny stylem „quick fix" přímo na mainu, protože to vede k tomu, že někdo má starou verzi a jiný novou. Pokud používáte více větví, nastavte si pravidlo, že konfigurace se mění jen s vědomím celého týmu – jinak se ztratí přehled o tom, co je aktuální.
Na co si dát při implementaci pozor? V RESTu se vyhněte vytváření endpointu typu „vše o uživateli", který vrací stovky polí, z nichž klient využije jen deset. Místo toho používejte parametry pro filtrování a výběr polí. U GraphQL nastavte limity na velikost odpovědi a zabraňte vnořeným dotazům, které by mohly zahltit databázi. Také si pohlídejte, aby každý dotaz měl časový limit. Když se rozhodnete správně, získáte API, které je rychlé, škálovatelné a snadno udržovatelné — a to je to, o co v celém procesu jde.
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.
Pro práci s CSS používejte externí soubor, ne style přímo v HTML. Oddělení obsahu od vzhledu vám umožní měnit design bez zásahu do struktury. Stačí v head připojit odkaz na CSS soubor a v něm definovat pravidla. Selektory píšete podle tříd, id a elementů. Třídy jsou univerzální, id používejte jen pro jedinečné prvky. Pokud chcete nadpis označit modře, napište .nadpis a v HTML
. Vyhněte se stylování podle id, protože to snižuje přehlednost a ztěžuje pozdější úpravy.
Základem je podívat se na plán provádění dotazu, tedy na to, jak databáze přistupuje k tabulkám. Většina databázových systémů nabízí příkaz pro zobrazení plánu, ať už jde o nástroj pro vizualizaci, nebo textový výpis. Typickou chybou je použití funkce na sloupci v podmínce WHERE. Pokud napíšete podmínku jako DATE(created_at) = '2024-01-01', databáze nemůže použít běžný index na sloupci created_at, protože musí funkci aplikovat na každý řádek. Řešení spočívá v úpravě podmínky na rozsah: created_at >= '2024-01-01' AND created_at <'2024-01-02'. Tím se databáze dostane k indexu a dotaz je výrazně rychlejší.
Než začnete psát první řádky kódu, ujasněte si, co má stránka dělat. HTML je kostra, CSS je vzhled. Bez kostry se CSS nemá čeho chytit, bez CSS vypadá kostra jako dokument z devadesátých let. Základní struktura HTML dokumentu je jednoduchá: doctype, html, head a body. Do head patří meta informace a odkaz na CSS soubor, do body veškerý viditelný obsah. Pokud vynecháte doctype, prohlížeč se přepne do takzvaného quirks módu a vaše CSS bude fungovat jinak, než čekáte. Tohle je nejčastější začátečnická chyba, která se projeví až při stylování.