Redux a asynchronní akce: jak zjednodušit stav

Aus Rettungsdienst-Wiki
Zur Navigation springen Zur Suche springen


Důležité je také sledovat poměr počtu testů a jejich času. Pokud integrační testy tvoří více než čtvrtinu všech testů, ale zabírají 90 % času běhu, je to signál k revizi. Zkuste u nejpomalejších testů zjistit, zda nepoužívají zbytečně reálné závislosti. Často stačí vyměnit databázi za lehčí variantu (např. embedded) nebo zredukovat počet volání externích služeb pomocí smyček a kombinací vstupů. Nezapomínejte, že každý integrační test by měl být nezávislý a měl by běžet v náhodném pořadí, což mnohé problémy odhalí už při vývoji.

Pro responzivní chování nemusíte psát spoustu media dotazů. Místo toho využijte automatické vlastnosti. U Gridu to je auto-fit nebo auto-fill – s nimi se počet sloupců přizpůsobí šířce kontejneru. Například grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) vytvoří tolik sloupců, Wiki.Tryzna.de kolik se jich vejde, a na mobilu se přirozeně sloučí do jednoho. U Flexboxu zase používejte flex-wrap: https://coe-schule.de/index.php?Title=Redux_a_asynchronní_akce:_jak_si_zjednodušit_stav_aplikace wrap a flex: 1 1 250px, Rady Pro Rekonstrukci což zajistí, že se položky obtékají, ale stále drží minimální šířku. Tím se vyhnete zbytečným breakpointům a kód zůstane čitelný.

Nakonec si pamatujte, že testovací pyramida není cíl, ale prostředek. Pomáhá udržet testy rychlé, spolehlivé a snadno udržovatelné. Začněte s malou sadou kvalitních testů na správných vrstvách a postupně ji rozšiřujte podle rizik v aplikaci. Pravidelně revidujte, které testy přinášejí hodnotu, a nebojte se ty, které jsou pomalé nebo nestabilní, přepsat nebo zcela odstranit. Tím zajistíte, že testy budou skutečnou pojistkou, ne přítěží.

Když projekt roste, testovací pyramida se často začne bortit. If you treasured this article so you would like to collect more info relating to proměna bytu i implore you to visit the page. Nejprve převažují rychlé unit testy, ale jakmile přibývají závislosti a integrace, tlak na pokrytí scénářů napříč komponentami roste. Výsledkem bývá změť integračních testů, které jsou pomalé, křehké a vyžadují složité nastavení. Základní pravidlo zní: unit testy mají tvořit většinu, integrační testy jen doplňkovou vrstvu. Pokud toto rozložení začne být opačné, je čas zasáhnout, než se údržba testů stane noční můrou.

Kdy přidat integrační test a kdy raději unit test Praktické vodítko: pokud test vyžaduje nastavení více než tří závislostí (databáze, HTTP klient, fronta), zvažte, zda by nešlo většinu logiky pokrýt unit testem a integrační test nechat jen na okrajové případy. Typickou chybou je testovat každou metodu servisní vrstvy integračně, i když se v ní nachází čistá byznys logika. Přesuňte tuto logiku do samostatné třídy, kterou otestujete jednotkově. Integrační test pak pouze ověří, že se třída správně propojuje s okolím – a takových testů stačí málo.

Začněte jednoduchým rámcem – rozdělte retrospektivu na tři části: co funguje, co nefunguje a co zkusit příště. Místo obecného „bylo to dobré" se ptejte na konkrétní situace, třeba: „Která schůzka ti minulý sprint dala nejvíc energie a proč?" nebo „Kdy jsi narazil na blokující problém a jak dlouho trvalo, než ses k němu dostal?" Odpovědi zapisujte na tabuli nebo do sdíleného dokumentu, ale vždy tak, aby je viděli všichni. Důležité je, aby měl každý stejný prostor – extroverti mají tendenci převzít slovo, tišší členové se pak jen přikyvují.

Na co si dát pozor? U Flexboxu je častým problémem ignorování vlastnosti flex-shrink. Pokud chcete, aby se položky zmenšovaly, ale ne příliš, nastavte flex: 1 1 200px – jinak se obsah může přetéct nebo se naopak scvrknout do nečitelné šířky. U Gridu zase lidé často zapomínají na jednotku fr (fraction), která je mnohem pružnější než procenta, protože automaticky počítá s mezerami. Místo grid-template-columns: 25% 25% 25% 25% raději použijte repeat(4, 1fr) – ušetříte si problémy s paddinky a border-box nastavením.

Kdy použít Grid a kdy Flexbox CSS Grid je ideální pro celkovou strukturu stránky – tedy pro rozvržení hlavních oblastí, jako jsou záhlaví, obsah, boční panel a zápatí. Grid pracuje ve dvou rozměrech, takže snadno definujete sloupce i řádky najednou. Flexbox je naopak jednorozměrný – hodí se pro rozmístění položek v jednom řádku nebo sloupci, typicky pro navigační menu, tlačítka v liště nebo karty v rámci jednoho bloku. Typická chyba začátečníků? Používat Flexbox pro celou stránku a pak bojovat se zarovnáním do mřížky. Mnohem lepší je kombinovat: Grid pro hlavní rozložení, Flexbox pro detaily uvnitř jednotlivých sekcí.

Typické chyby, kterých se vyvarujte: psaní testů až po implementaci (testy pak jen potvrzují chování, ale nechrání před regresí), testování přes uživatelské rozhraní na úrovni jednotkových testů, používání reálných externích služeb v integračních testech (místo toho použijte nástroje pro virtualizaci služeb) a ignorování pomalých testů – pokud je test pomalý, vývojáři ho přestanou spouštět a ztratí jeho hodnotu. Naopak se vyplatí investovat do testovacích dat, která jsou deterministická, a do čistění stavu mezi testy.