Editing
Debugování v prohlížeči: DevTools versus staré dobré console.log
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Typickým problémem, na který při ladění narazíte, je asynchronní kód. Zápis async/await může na první pohled vypadat jako synchronní, ale pořád se jedná o asynchronní operace. Pokud se vám zdá, že se kód nespouští ve správném pořadí, If you cherished this report and you would like to acquire far more facts pertaining to [http://Dhi.Org.mx/wiki/index.php?title=Kdy%C5%BE_retrospektiva_sk%C5%99%C3%ADpe,_zkuste_strukturovanou_zp%C4%9Btnou_vazbu celý text] kindly visit our internet site. podívejte se na záložku Sources a v sekci Call Stack si ověřte, jaké funkce jsou aktuálně na zásobníku. Pro složitější asynchronní scénáře využijte funkci „Async" v debuggeru, která umožňuje krokovat i přes hranice asynchronních funkcí. Díky tomu uvidíte, kdy se která část kódu skutečně provádí, a nejen kdy byla naplánována.<br><br>Dalším kritériem je podpora „remote development" a kontejnerů. V týmech, kde běží projekt v Dockeru, je výhodné IDE, které umí pracovat s konfigurací uvnitř kontejneru. Tím odpadá problém s rozdílnými verzemi nástrojů na lokálních strojích. Pozor ale na to, že i mezi IDE, která tuto funkci mají, existují rozdíly v tom, jak přesně mapují porty nebo jak synchronizují soubory – otestujte to na menším vzorku týmu, než se rozhodnete. Častou chybou je spoléhat na to, že všichni v týmu používají stejnou verzi IDE, ale zapomenout na to, že pluginy se aktualizují nezávisle a mohou konfiguraci rozbít.<br><br>Nakonec nezapomeňte na to, že jednotná konfigurace není cíl, ale prostředek. Pokud zjistíte, že tým tráví více času údržbou konfigurace než samotným kódem, změňte ji. Vyplatí se investovat do interní dokumentace, která vysvětlí, proč jsou určité hodnoty nastavené tak, jak jsou. A pokud máte v týmu nováčky, zkuste IDE, [https://www.Dailymail.co.uk/home/search.html?sel=site&searchPhrase=kter%C3%A9%20umo%C5%BE%C5%88uje které umožňuje] onboarding bez manuálního nastavování – třeba tím, že konfigurace obsahuje i vysvětlující komentáře. V konečném důsledku je nejlepší IDE to, které se stane neviditelným nástrojem, protože se všichni soustředí na řešení problému, ne na ladění prostředí.<br><br>Základní práce s DevTools začíná otevřením panelu – obvykle klávesovou zkratkou F12 nebo Ctrl+Shift+I. V záložce Console uvidíte nejen chybové hlášky, ale také výpisy z vašeho kódu. Místo obyčejného console.log zkuste využít metody jako console.table, která přehledně zobrazí pole objektů, nebo console.group, která seskupí související výpisy. Pokud potřebujete zjistit, kolik času zabere určitá část kódu, použijte console.time a console.timeEnd. Tím získáte konkrétní čísla, aniž byste si museli pamatovat časové značky.<br><br>Pokud tyto zásady dodržíte, dostanete pipeline, který šetří čas a snižuje riziko chyb v produkci. Naopak zanedbání testů v pipeline se dřív nebo později projeví. Buď selže nasazení v nejméně vhodnou chvíli, nebo se do produkce dostane chyba, která se mohla snadno zachytit. Automatizace tedy není cíl, ale prostředek k tomu, aby váš tým mohl dodávat rychleji a spolehlivěji. Začněte malými kroky a postupně pipeline vylepšujte podle skutečných potřeb projektu.<br><br>Základní strukturu Reduxu tvoří akce, reducery a store. Akce jsou obyčejné objekty s vlastností type – používejte pro ně konstanty, ne stringy přímo v komponentách. Reducer je čistá funkce, která vrací nový stav, nikdy nemutuje ten původní. To je častý zdroj chyb, když někdo zapomene vytvořit kopii objektu nebo pole. Správně: return ...state, items: [...state.items, newItem] . Špatně: state.items.push(newItem). Taková mutace vede k tomu, že komponenty nezjistí změnu a uživatel nevidí aktualizovaná data.<br><br>Jak na efektivní ladění bez zbytečných pokusů Největší chybou, kterou při debugování děláme, [http://Wiki.Philipphudek.de/index.php?title=6_praktick%C3%BDch_rad,_kdy_m%C4%9B%C5%99it_pokryt%C3%AD_testy_a_kdy_u%C5%BE_to_nem%C3%A1_smysl tato stránka] je, že se snažíme opravit problém bez pochopení jeho příčiny. Místo hádání, proč proměnná nemá očekávanou hodnotu, využijte breakpointy. V záložce Sources si otevřete příslušný soubor, klikněte na číslo řádku a nastavte bod přerušení. Když se kód spustí a narazí na tento bod, běh se zastaví. V pravém panelu pak vidíte hodnoty všech proměnných v aktuálním rozsahu. Můžete také procházet kód [https://wiki.man-noir.com/index.php/Co_se_stane,_kdy%C5%BE_t%C3%BDm_p%C5%99ejde_na_sd%C3%ADlen%C3%BD_git_workflow rekonstrukce koupelny krok za krokem] za krokem, vstupovat do funkcí nebo je přeskočit. Tento postup vám dá přesnou představu o tom, co se v daném okamžiku děje.<br><br>Než začnete psát první workflow, ujasněte si, co má pipeline skutečně řešit. GitHub Actions je jen nástroj, který spouští skripty, ale hodnotu mu dáte až správně zvolenými kroky. Nejčastější chybou bývá snaha o automatizaci všeho najednou – od buildu přes testy až po nasazení na produkci. Výsledkem je pak pipeline, který je pomalý, křehký a jeho údržba zabere víc času než [https://Www.Nuwireinvestor.com/?s=samotn%C3%BD%20v%C3%BDvoj samotný vývoj].<br>Při tvorbě workflow se vyhněte dvěma typickým chybám. První je používání příliš otevřených nebo naopak příliš úzkých triggerů. Například spouštět pipeline při každém komentáři v issue je zbytečné, ale omezit se jen na hlavní větev zase riskujete, že chyby odhalíte až po sloučení pull requestu. Ideální je kombinace událostí: push [http://wiki.philipphudek.de/index.php?title=UI/UX_past,_kterou_v%C3%BDvoj%C3%A1%C5%99i_podce%C5%88uj%C3%AD_a_jak_se_j%C3%AD_vyhnout nábytek na míru] hlavní větev a pull requesty. Druhou častou chybou je spoléhat se na dlouhé sekvenční kroky místo paralelizace. Pokud testy nezávisí na sobě, rozdělte je do více jobů. Ušetříte tím čas i peníze, protože běh pipeline bude rychlejší.<br>
Summary:
Please note that all contributions to IT-Core are considered to be released under the GNU Free Documentation License 1.3 or later (see
IT-Core:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information