Scrum a kanban: co týmům skutečně pomáhá?
Prvním častým problémem je destrukce objektů a polí. Zápis const x, y = point je sám o sobě jasný, ale pozor na výchozí hodnoty. Pokud chcete nastavit fallback pro undefined, píšete const x = 10 = obj. To funguje pouze pro undefined, ne pro null nebo prázdný řetězec. Tuto skutečnost lidé často přehlédnou a pak v kódu řeší neočekávané chování. Stejně tak při destrukci pole pomocí const [a, b] = arr se vyplatí ověřit, zda pole vůbec existuje – destrukturování null nebo undefined vyhodí chybu, takže je lepší nejdřív zkontrolovat hodnotu.
Když do React aplikace přidáte Redux, úprava interiéru často si myslíte, že hlavní je mít store a nějaké akce. Ale největší problém nebývá na začátku, nýbrž ve chvíli, kdy aplikace začne růst. Typická chyba? Ukládání všeho do jednoho obřího stavu. Komponenta, která potřebuje jen jedno číslo, se znovu vykresluje při každé změně úplně jiné části stromu. Řešení přitom není složité: selektory. Místo toho, abyste v komponentě četli celý objekt a vybírali z něj data, použijte vytvořenou funkci, která vrátí jen potřebnou hodnotu. When you loved this informative article and you would want to receive more info about Rady Pro Rekonstrukci i implore you to visit the internet site. Tím zaručíte, že se komponenta překreslí jen tehdy, když se skutečně změní relevantní část stavu, ne při každém novém dispatchnutí.
Nakonec si osvojte zvyk kontrolovat své UI v prohlížeči pomocí vývojářských nástrojů. Zkuste si uměle zmenšit okno, otevřít stránku v různých velikostech písma nebo simulovat pomalé připojení. Klidně si vytvořte sadu testovacích textů a vkládejte je do všech nadpisů a popisků. Tím odhalíte největší slabiny dřív, než je uvidí uživatel. Dobré UI není o tom, aby vypadalo pěkně na obrázku, ale aby fungovalo v reálných situacích – a to je přesně oblast, kde se vývojář může odlišit od pouhého „překladače designu do kódu".
Když codebase roste, nevyhnete se ani nutnosti testovat legacy kód. Zde platí pravidlo: nejprve zabezpečete nejrizikovější místa pomocí charakterizačních testů, které zachovají stávající chování, a teprve poté začnete psát nové jednotkové testy. Nezkoušejte pokrýt všechno najednou – vyberte si moduly, které se mění nejčastěji, a tam postupně zvyšujte hustotu testů. Nezapomínejte, že testy také potřebují údržbu. Pokud test selže jen kvůli špatné konfiguraci, opravte to hned, jinak vás tým přestane testy brát vážně.
Prakticky: začněte s krátkými sprinty, ideálně dvoutýdenními. Na začátku si naplánujte, co chcete dodat, a na konci si ukážete, co je hotové. Kritérium „hotovo" si nadefinujte tak, aby bylo ověřitelné – třeba „kód prošel code review, má testy a je nasazený na staging". Bez tohohle jasného cíle skončíte zase jen s rozpracovanými funkcemi, které nikdo neodzkouší. A pozor, sprint není maraton; pokud se vám nedaří dodat, co jste slíbili, snižte objem práce, ne navyšujte hodiny.
Při práci s asynchronními operacemi, jako je načítání dat ze serveru, lidé často sklouzávají k tzv. „spaghetti" řešení. Místo jednoduchého třífázového stavu (loading, success, error) vytvářejí složité stavy s mnoha flagy. Tím se reduktor stává nepřehledným a testování noční můrou. Zkuste to udělat jednoduše: použijte jeden stav, který říká, v jaké fázi se požadavek nachází. Všechna data si také dobře promyslete – pokud potřebujete transformovat data ze serveru pro různé komponenty, nedělejte to přímo v reduktoru. To patří do selektorů nebo do funkcí, které data připraví mimo store.
Sběr metrik je první krok. Zjistěte, kolik času zabere spuštění celé testovací sady. Pokud je to více než pět minut, je to signál, že máte příliš mnoho integračních testů nebo testy nejsou izolované. Automatizujte měření pokrytí, ale nezaměřujte se na čísla, která nic neznamenají. Procento pokrytí řádků není cíl, je to vedlejší efekt. Důležité je, aby testy pokrývaly kritické scénáře, které uživatelé reálně používají. Mapa rizik – seznam modulů, kde chyba způsobí největší škody – vám pomůže rozhodnout, kam investovat testy.
Konkrétně: u tlačítek, formulářových polí a karet vždy nastavte ochranu proti přetékání. Nepoužívejte pevné výšky a šířky, pokud to není nezbytně nutné. Místo toho využijte padding a min-width, max-width. U delších textů, jako jsou popisky nebo chybové hlášky, nezapomeňte na správné zalomení řádků. Anglická slova nebo URL adresy bez mezer dokáží rozbít rozvržení – v CSS proto nastavte overflow-wrap: break-word nebo hyphens: auto. Vyhnete se tak situaci, kdy text přetéká přes okraj a překrývá sousední prvky.
První krok je otevřít si nástroje pro vývojáře. Ve většině prohlížečů to uděláte klávesovou zkratkou, která otevře panel s kartami Elements, Console, Sources a dalšími. Konzole je místo, kde se zobrazují chybové zprávy, varování a výpisy z vašeho kódu. Pokud se vám zdá, že se nic neděje, zkuste na stránce provést akci, která chybu vyvolává, a sledujte, co se v konzoli objeví. Často tam najdete přesný název souboru a i číslo řádku, kde problém nastal.