Když se databáze začne zadýchávat, první podezření padá na SQL dotazy. Pomalé dotazy nezpůsobují jen čekání uživatelů, ale i přetížení serveru a zbytečné náklady na infrastrukturu. Než sáhnete po dražším hardwaru, vyplatí se podívat na to, jak jsou dotazy napsané. Často stačí drobná úprava a výsledek se dostaví v řádu sekund.
Závěrem si shrňme nejdůležitější pravidla: vždy zapněte strict režim, vyhněte se typu any, typujte funkce a objekty, používejte generika pro obecné kód a nenechávejte si v editoru nevyřešené chyby. TypeScript se ze začátku může zdát jako překážka, ale jakmile si osvojíte tyto základy, zjistíte, že vám dává jistotu při refaktorování a rychlejší odhalování potenciálních problémů. Kód se stává čitelnějším a samodokumentujícím, což oceníte hlavně při práci v týmu nebo při návratu k projektu po delší době.
Další pastí je implicitní konverze typů. Pokud máte sloupec VARCHAR a porovnáváte ho s číslem, databáze často provede konverzi na každém řádku, což opět znefunkční index. Dbejte na to, aby typy v podmínkách odpovídaly typu sloupce.
Když test napíšete, spusťte ho. Pokud projde, zkuste ho schválně rozbít změnou očekávané hodnoty. Tím si ověříte, že test skutečně funguje a není jen formální. Poté hodnotu vraťte zpět. Tento postup je dobré si zapamatovat, protože odhaluje falešně zelené testy, které testují špatnou věc. Jakmile máte první test hotový, pokračujte dalším. Postupně získáte jistotu a testování se stane přirozenou součástí vašeho vývoje.
Rozdělte kód na malé, jednoúčelové funkce Funkce by měla mít jednu odpovědnost. Ideální délka je do dvaceti řádků, ale jde spíš o to, aby se dala pochopit na první přečtení. Typická chyba začátečníků je psát dlouhé funkce, které validují vstup, mění stav a renderují UI. Místo toho rozdělte logiku do samostatných funkcí s jasnými vstupy a výstupy. Například funkce pro výpočet ceny by neměla zároveň ukládat data do localStorage.
Indexy: základ, který se vyplácí Nejčastější příčinou pomalých dotazů je chybějící index. Pokud ve WHERE klauzuli filtrujete podle sloupce, který není indexovaný, databáze musí projít celou tabulku. To je u velkých tabulek zničující. Vždy si ověřte, zda index odpovídá skutečným podmínkám. Například dotaz `SELECT * FROM objednavky WHERE zakaznik_id = 42 AND datum >’2024-01-01’` potřebuje složený index na oba sloupce, ne dva samostatné. Složený index funguje efektivně, pokud jsou sloupce v něm seřazené podle toho, jak je používáte v podmínce.
Při psaní testu si dejte pozor na použití ostrých dat z produkce. Test by měl být vždy nezávislý na okolním prostředí. Pokud test používá datum a čas, nezadávejte aktuální hodnotu, ale pevně zvolenou konstantu. Stejně tak se vyhněte náhodným hodnotám, které test dělají nestabilním. Test, který občas selže, pozbývá smyslu. Pro první test zvolte natvrdo zadaná data, abyste měli jistotu, že výsledek je vždy stejný.
Základním krokem je pochopit, že TypeScript není nový jazyk, ale nadmnožina JavaScriptu. To znamená, že veškerý kód, který píšete v JavaScriptu, je platný i v TypeScriptu. Stačí změnit příponu souboru z .js na .ts a můžete začít postupně přidávat typy. Praktickým tipem je zapnout volbu strict v souboru tsconfig.json. Tím se aktivuje nejpřísnější kontrola typů a předejdete mnoha problémům, které by se jinak objevily až při běhu aplikace. Pokud začínáte, může být lákavé tuto volbu vypnout, ale doporučuji vytrvat – ušetří vám to hodně času při hledání chyb.
Jak správně typovat funkce a objekty Největší sílu TypeScriptu využijete při definování funkcí a objektů. U funkcí vždy explicitně typujte parametry a návratovou hodnotu. Například místo function add(a, b) napište function add(a: number, b: number): number. Tím zajistíte, že funkci nelze zavolat s řetězcem, i kdyby se to na první pohled zdálo v pořádku. U objektů použijte rozhraní (interface) nebo typové aliasy (type). Rozhraní je vhodnější pro definici tvaru objektu, který se bude rozšiřovat, zatímco typové aliasy se hodí pro uniony a komplexnější typy. Typickým začátečnickým omylem je použití typu any všude, kde si nejste jistí. To obchází celý systém kontroly a v podstatě se vracíte k JavaScriptu. Místo toho zkuste použít unknown a pak pomocí kontrol typu (tzv. type guards) zúžit, co skutečně chcete povolit.
Nakonec pamatujte na konzistenci. Zvolte si styl – úvodzovky, středníky, odsazení – a držte se ho v celém projektu. Využijte nástroje, které formátují kód automaticky, a nastavte si lintovací pravidla na začátku projektu. Čistý kód není o dokonalosti, ale o tom, aby se v něm dalo snadno hledat chyby a přidávat nové funkce bez rizika rozbití stávajícího chování.
If you have any inquiries pertaining to where and how to use http://demo.emshost.com/space-uid-4751533.html, you can speak to us at our own webpage.
