Když píšete první kód, držte se pravidla, že jeden soubor má jednu odpovědnost. Typickou chybou je nacpat veškerou logiku do kontroleru, který pak má přes tisíc řádků. Místo toho si rozdělte aplikaci na modely, služby a view modely. Konkrétně: pokud máte tlačítko, které ukládá text do databáze, vytvořte samostatnou třídu pro ukládání a zkontrolujte vstup mimo UI vrstvu. Vyhnete se tak situaci, kdy aplikace spadne při neplatném formátu data nebo prázdném řetězci.
Další pastí je použití příkazu debugger; v kódu. Ten sice funguje, ale pokud ho zapomenete odstranit, zastaví se vám aplikace i v produkci. Místo toho používejte podmíněné breakpointy – v nástrojích je lze nastavit tak, aby se přerušení spustilo jen tehdy, když je splněna určitá podmínka, třeba když proměnná dosáhne nulové hodnoty. Ušetříte si tím spoustu zbytečného proklikávání.
Pamatujte, že ladění není o hádání, ale o metodickém zkoumání. Používejte konzoli pro rychlou kontrolu, breakpointy pro detailní analýzu a Network pro pochopení komunikace. Osvojte si tyto nástroje a zjistíte, že hodiny strávené hledáním chyby se zkrátí na minuty. Až příště narazíte na záhadnou chybu, nezačínejte přidávat výpisy do kódu – rovnou otevřete devtools a jděte po stopě.
Základním pravidlem je používat výstižné názvy proměnných, funkcí a tříd. Místo let x = 5 napište let maxRetries = 5. Název by měl odpovídat tomu, co hodnota skutečně představuje. Vyhněte se zkratkám, které nedávají smysl bez kontextu. Pozor také na boolean proměnné – ty by měly začínat na is, has nebo should, aby bylo jasné, že reprezentují pravdivostní hodnotu.
GraphQL řeší právě problém nadbytečných dat. Klient si požádá přesně o to, co potřebuje, a server vrátí jen to. Když například potřebujete zobrazit jméno uživatele a počet jeho objednávek, jedno dotazovací pole nahradí dvě volání RESTu. Typická chyba začátečníků je ale návrh resolverů bez ohledu na N+1 problém – každý dotaz na seznam může znamenat desítky drobných dotazů do databáze. Pokud to neřešíte nástroji jako DataLoader, výkon se propadne. Další pastí je absence striktního verzování: If you adored this article and also you would like to be given more info about Jak.Mazovia.Edu.Pl i implore you to visit our own site. zatímco u RESTu přidáte /v2/, u GraphQL musíte pečlivě plánovat evoluci schématu, abyste neporušili existující klienty.
Čistý kód je výsledkem neustálé disciplíny, ne jednorázové akce. Při každé úpravě se zamyslete, jestli nový kód zapadá do celkové struktury. Berte to jako psaní eseje: nejdřív koncept, pak revize. Každý refaktoring, byť malý, snižuje budoucí náklady na údržbu a dělá z vás lepšího programátora.
Kazdy, kdo pracuje s klienty, zna okamzik, kdy ma rict, jak dlouho bude prace trvat. Staci jedno spatne cislo a ztratite duveru, i kdyz je prace kvalitni. Nejde o to, abyste odhadovali presne na minutu, ale abyste komunikovali tak, aby klient vedel, co muze cekat, a vy jste si nechali prostor pro realitu. Kdyz odhad podcenne, budete pod tlakem; kdyz ho nadhodnotite, klient muze jit jinam. Resenim neni hledat dokonale cislo, ale zmenit zpusob, jakym o case mluvite.
Co delat, kdyz uz odhad padl a cas se krati Kdyz zjistite, ze se prace protahuje, nejhorsi je mlcet a doufat, ze to nikdo nepozna. Misto toho klienta informujte co nejdrive, ale konkretne. Reknete: „Narazil jsem na problem s daty, ktery znamena, ze budu potrebovat o dva dny vic. Do pátku to ale bude." Tato veta obsahuje tri dulezite veci: duvod, novy termin a jasny slib. Nepoužívejte vágni vysvetleni jako „neco mi do toho vlezlo" – to pusobi neprofesionalne. Naopak, pokud vite, ze se opozdite jen o par hodin, nemusite klienta zatezovat kazdou drobnosti. Klíčem je rozlisit, co je pro klienta dulezite: vysledek, ne vase interni procesy.
Když se JavaScript úložné prostory v malém bytě prohlížeči chová jinak, než očekáváte, první reakce bývá impulzivní: přidáte do kódu pár příkazů pro výpis a znovu načtete stránku. Tahle metoda funguje, ale jen do chvíle, než začnete ladit asynchronní volání nebo stav aplikace, který se mění v čase. Mnohem efektivnější je hned od začátku používat nástroje, které máte přímo v prohlížeči – a vědět, co přesně znamenají jednotlivé hlášky v konzoli.
REST API je ideální, když máte stabilní, dobře definované zdroje – třeba uživatele, objednávky nebo články. Využijete ho naplno, pokud klient potřebuje vždy kompletní reprezentaci dané entity. Typický příklad: veřejné API pro třetí strany. Tady oceníte jednoduchou adresaci, snadné testování pomocí běžných nástrojů a přirozenou podporu HTTP metod. Naopak pokud vaše aplikace vyžaduje složená data z více entit najednou, začnete řetězit volání a každé z nich s sebou nese režii. Roste latence a spotřeba dat, což se projeví zejména u mobilních klientů s omezeným připojením.