Moderní syntaxe je nástroj, ne cíl. Pokud tým používá starší prohlížeč…
본문
Moderní syntaxe je nástroj, ne cíl. Pokud tým používá starší prohlížeče nebo běhové prostředí, je nutná transpilace. Bez ní kód s novými funkcemi spadne. Před nasazením si ověřte, které funkce vaše cílové prostředí podporuje, a nespoléhejte na to, že „to někde funguje". Konzistentní styl, výchozí hodnoty a vědomé používání const odstraní většinu chyb dřív, než vzniknou.
Než začnete hádat, kde se kód rozbil, otevřete vývojářské nástroje. Většina prohlížečů je zpřístupní klávesou F12 nebo kombinací Ctrl+Shift+I. Panel Console ukazuje chyby včetně čísla řádku a názvu souboru. Kliknutím na odkaz v chybě se dostanete přímo na místo v kódu. První pravidlo zní: čtěte chybu celou, ne jen první slovo. Zpráva typu „Cannot read property 'value' of null" znamená, že prvek, ze kterého čtete hodnotu, v tu chvíli osvětlení v obýváku DOM neexistuje. Nejčastější příčina bývá spuštění skriptu dřív, než se HTML načte.
Na závěr: nástroje prohlížeče nejsou jen pro chyby, ale i pro ověření, že kód dělá to, co si myslíte. Než začnete přepisovat funkci, ověřte si vstupy a výstupy. Většina času se ušetří na začátku, ne na konci.
Kdy se NoSQL vyplatí a kdy
Do konzole můžete psát příkazy přímo a zkoušet je nad živou stránkou. Zadejte název proměnné a uvidíte její aktuální hodnotu. Příkazem console.log si vypíšete, co skutečně přichází do funkce, místo abyste předpokládali, co tam má být. U objektů použijte console.table pro přehledné zobrazení nebo console.dir pro strukturu. Pozor na to, že console.log vypíše objekt ve stavu, v jakém je při rozkliknutí, ne v okamžiku volání. Pokud potřebujete zmrazit hodnotu, vypište JSON.stringify.
Začni hierarchií. Každá obrazovka má mít jednu primární akci a všechno ostatní jí má být podřízené. Velikost, barva a umístění tlačítek nejsou dekorace, ale nástroje, jak řídit pozornost. Pokud máš na stránce pět stejně výrazných tlačítek, uživatel neudělá žádné. Zmenši vedlejší prvky, ztlum je, nebo je schovej do rozbalovacího menu. Platí to i pro formuláře: jedno pole na řádek, popisek nad polem, žádné placeholdery místo popisků. Placeholder zmizí, jakmile uživatel začne psát, a on zapomene, co tam mělo být.
For more info in regards to viz zde visit the web page. Konkrétní postup, jak pokrytí udržet užitečné: jednou za čas projděte testovací sadu a označte testy, které za poslední rok neodhalily žádnou chybu a zároveň se často opravují kvůli změnám v kódu. Ty kandidují na smazání nebo přepsání. Naopak testy, které ochránily produkci, držte a rozšiřujte o okrajové případy. Pokrytí není cíl, je to nástroj. Užitečné je jen do chvíle, kdy jeho údržba začne převažovat nad užitkem. Pak je čas ho omezit, ne zvyšovat.
Testovací pokrytí se dá snadno předstírat. Napsat stovky testů, které ověřují gettery nebo konstanty, je rychlé a číslo v报告u vypadá dobře. Jenže takový test často neodhalí nic, co by člověk neviděl na první pohled. Užitečné pokrytí začíná tam, kde test popisuje reálné chování kódu: co se stane při prázdném vstupu, co při výjimce, co při souběhu dvou požadavků. Pokud test tohle neřeší, je to jen dekorace.
Verzování začíná tím, že si ujasníš, co vlastně chceš sledovat. Pro webový projekt to obvykle znamená zdrojový kód, konfigurační soubory a databázové migrace. Naopak závislosti stažené z balíčkového manažera, buildované soubory a lokální konfigurace s hesly do repozitáře nepatří. Prvním praktickým krokem je vytvořit soubor, který tyto výjimky vypíše, a teprve pak spustit inicializaci repozitáře. Pokud soubor s výjimkami vytvoříš až po prvním nahrání, budou se ignorované soubory dál nabízet ke sledování a budeš je muset odstranit ručně.
Dalším krokem je větev pro hlavní vývoj. Většina týmů dnes používá jednu hlavní větev, ze které se odvozují krátkodobé větve pro jednotlivé úkoly. Větev pro úkol by měla žít hodiny až dny, ne týdny. Čím déle ji držíš oddělenou, tím bolestivější bude její sloučení. Před sloučením si vždy stáhni aktuální stav hlavní větve a vyřeš konflikty lokálně. Konflikt neznamená chybu, jen dvě změny na stejném místě. Nikdy neřeš konflikt tak, že jeden z zápisů slepě smažeš — nejdřív si přečti obě verze a rozhodni, která logika má platit.
U asynchronního kódu si dejte pozor na Call Stack. Ten vám ukáže, odkud se funkce zavolala, ale u promise a časovačů bývá řetězec přerušený. Pomůže zaškrtnutí Async v panelu Sources, které zobrazí i asynchronní volání. Další častá chyba je záměna this uvnitř callbacku — this pak neodkazuje na objekt, který očekáváte.Řešením je šipková funkce nebo uložení reference před vstupem do callbacku.
댓글목록0
댓글 포인트 안내