Typická chyba je tichý posun. Když zjistíte, že to nestíháte, čekáte, jestli to doženete, a zákazníkovi to řeknete, až když je pozdě. To je horší než původně špatný odhad. Informaci o posunu dodejte ve chvíli, kdy ji máte, spolu s novým odhadem a důvodem. Zákazník nesnáší překvapení víc než zpoždění. Pokud mu dáte čas zareagovat, často si sám upraví priority nebo ubere rozsah.
Třetím krokem je zvážit, jak chcete řešit pozdější změnu podmínek. Některé projekty používají dvojí licencování nebo přechod na novější verzi licence. Pozor na formulace typu „a pozdější verze” – dávají budoucím příjemcům možnost řídit se i verzí, kterou jste při zveřejnění neznali. Pokud chcete mít jistotu, uveďte konkrétní číslo verze licence.
Základem je oddělit pozorování od interpretace. Místo „komunikace v týmu vázne” je potřeba slyšet „od minulého sprintu čekám na odpověď v kanálu déle než den a pak nestíhám termín”. První věta se nedá řešit, druhá ano. Pravidlo pro celou místnost zní: každé tvrzení musí mít konkrétní situaci, čas a dopad. Kdo ho nemá, ten ho buď doplní, nebo ho odloží. Facilitátor to hlídá a je ochotný větu zastavit uprostřed.
Selektory a normalizace místo kopií Druhé pravidlo se týká tvaru dat. Seznamy objektů s vnořenými referencemi vedou k tomu, že se při každé změně přepisuje celý strom a komponenty se překreslují zbytečně. Řešením je normalizace: entity uložené podle identifikátoru a vedle toho pole identifikátorů pro pořadí. K tomu patří selektory, které z těchto dat skládají pohled pro komponentu. Selektory pište mimo komponentu a používejte memoizaci. Bez ní se při každém renderu vytváří nový objekt a reference se změní, i když se obsah nezměnil.
Páté pravidlo se týká velikosti. Redux není určen k tomu, aby nahradil všechny ostatní nástroje pro správu stavu. Pokud aplikace roste, rozdělte store na menší části podle domén a každou část nechte vlastnit jeden tým. Sledujte, kolik akcí se za sekundu dispatchuje, a odstraňte ty, které nikdo neposlouchá. Méně akcí znamená méně míst, kde může vzniknout chyba, a výrazně jednodušší ladění.
Třetí pravidlo se týká akcí a reducerů. Akce mají být malé, popisné a bez logiky. Reducer musí zůstat čistý, bez volání API, bez náhodných hodnot a bez mutací. Nový stav vytvářejte kopií, ne přímou změnou. Typickým problémem je, že vývojář zapomene vrátit nový objekt, a aplikace se tváří, že se nic nestalo. Pomůže TypeScript nebo konstanty pro typy akcí, díky nimž odhalíte překlep ještě před spuštěním.
Se složkami a kopiemi pracuj vědomě. Operátor = u objektů a polí nekopíruje, jen vytvoří další odkaz. Když potřebuješ skutečnou kopii, použij spread …obj nebo [ …arr ]. Pozor ale na mělkou kopii: vnořené objekty zůstávají sdílené. U funkcí používej const jako výchozí volbu, let jen tam, kde se hodnota skutečně mění, a var nech stranou. Stejně tak sáhni po map, filter a reduce místo ručních cyklů s for a pomocnými poli, pokud jde o transformaci dat.
Nakonec měř znovu a vždy na stejném připojení. Zlepšení o stovky milisekund se snadno ztratí v šumu. Zaměř se na stabilní výsledek, ne na jedno náhodné číslo. Rychlost není jednorázový úkol, ale stav, který je potřeba hlídat při každé změně obsahu i šablony.
Redux přestal být výchozím řešením pro každou aplikaci, ale v projektech, kde se potkává více týmů a složitější tok dat, pořád drží. Problém nebývá v knihovně samotné, nýbrž ve způsobu, jakým se používá. Následujících pět pravidel vychází z běžných chyb, které se opakují v každém druhém kódu.
Prvním krokem je měření. Bez něj se optimalizace mění v hádání. Použij vestavěné nástroje prohlížeče, záložku síťových požadavků a sleduj tři hodnoty: celkovou dobu načtení, velikost přenesených dat a počet požadavků. Zaměř se na nejtěžší soubory. V praxi bývají na vině nekomprimované obrázky, velké skripty třetích stran a příliš mnoho požadavků na drobné soubory. Typická chyba je optimalizovat něco, co zabírá pět procent času, a přehlédnout obrázek o velikosti několika megabajtů.
Na straně serveru pomůže komprese odpovědí, správné nastavení kešování a rychlejší backend. Statické soubory nech prohlížeči uložit na delší dobu, dynamické stránky nech generovat do mezipaměti. Pokud web běží na pomalém hostingu, sebelepší optimalizace na frontendu narazí. Ověř si dobu odezvy serveru ještě předtím, než začneš řešit detaily v kódu.
První pravidlo se týká ukládání dat. Do storu patří pouze stav, který je sdílený mezi obrazovkami nebo potřebuje časovou osu změn. Lokální otevření dialogu, hodnota ve formuláři nebo načítání jednoho seznamu patří do useState nebo do knihovny pro serverová data. Když začnete ukládat všechno, vznikne z Reduxu monolit, kde se každá drobnost řeší akcí. Pomůže jednoduchý test: pokud hodnotu čte jen jedna komponenta a nikdy ji nepotřebujete přehrát zpětně, do storu nepatří.
If you adored this post and you would certainly like to get more info relating to Https://Www.Xiuwushidai.Com/Home.Php?Mod=Space&Uid=2841469 kindly browse through our own web site.