5 návyků pro čistý kód v JavaScriptu, které zkrátí ladění

From Madagascar
Jump to navigation Jump to search

Ještě než je vůbec začnete sušit, musíte je připravit. Vyndejte vložky a šňůrky zvlášť. Vložka sama o sobě nasákne nejvíc vody a uvnitř boty by jen prodlužovala vlhko. Šňůrky jsou malé a schnou rychle, klidně je položte vedle. Potom tenisky otevřete co nejvíc – povolte jazyk, rozhrňte svršek. Pokud jsou od bláta, nejdřív je opláchněte studenou vodou a jemně vykartáčujte měkkým kartáčem. Vyhněte se jaru a saponátům, které mohou rozpouštět lepidlo nebo barvit.

Společné pravidlo pro všechny materiály zní: čistěte pravidelně a šetrně, chraňte před extrémy a nesnažte se vše řešit silou. Většina škod vzniká zbytečně — příliš horkou vodou, agresivní chemií, sušením na přímém zdroji tepla nebo odkládáním údržby na později. Když si na tyhle návyky zvyknete, ušetříte peníze i čas a věci kolem vás budou vypadat dobře i po letech.

V lednici platí teplotní zóny, které většina lidí ignoruje. Nejchladnější je spodní police nad zásuvkou na zeleninu – tam patří maso, ryby a otevřené lahůdky. Do dveří nepatří mléko ani vejce; teplota tam skáče podle toho, jak často otevíráš. Vejce nech v původním obalu, ne v přihrádce ve dveřích. Zeleninu a ovoce drž odděleně, protože některé plody uvolňují ethylen a urychlují zrání ostatních. Zbytky jídla dej do průhledných uzavíratelných krabiček a označ je dnem, kdy vznikly. Neprůhledná miska = zapomenuté jídlo, které objevíš až ve formě plísně.

Většina času při ladění nejde na složité logické chyby, ale na nejasný kód, který nikdo po sobě nechápe. Čistý kód není estetika, je to prevence. Následujících pět návyků se vyplatí zavést okamžitě, i když pracuješ na malém projektu.

Po usušení vyklepejte zbytek papíru, vložte zpět vložky a šňůrky. Pokud chcete, můžete použít prostředek na ochranu proti vodě, ale až na suchý povrch. Tenisky pak skladujte na suchém místě, ne v uzavřené plastové krabici. Když je necháte dva dny volně dýchat, tvar i barva vydrží mnohem déle než při jakémkoli zrychleném postupu.

Malé funkce a jeden úkol Funkce, která dělá pět věcí, se ladí pětkrát hůř. Rozděl ji na kousky, každý s jasným vstupem a výstupem. Pokud funkce sahá na globální proměnné nebo mění stav mimo sebe, převeď ji na čistou: stejný vstup vždy vrátí stejný výstup. Čisté funkce se testují izolovaně a chyba se v nich najde během vteřin. U metod delších než obrazovka předpokládej, že v nich chyba je, jen ji ještě nevidíš.

Používej const a let, nikdy var. var má funkční rozsah a jeho hoisting vytváří chyby, které se projeví úplně jinde, než vznikly. const jako výchozí volba ti zabrání nechtěnému přepsání hodnoty. Když potřebuješ měnit obsah objektu, const pořád stačí – zabraňuje jen přiřazení nové reference, což je přesně to, co chceš. Zákaz var v celém projektu je jedno z nejrychlejších rozhodnutí, které kdy uděláš.

Posledním návykem je konzistence. Formátování řeš automaticky, ručně nikdy. Pokud tým nemá jednotný styl, každý commit obsahuje změny, které s logikou nesouvisí, a v diffu se ztratí skutečná chyba. Zvol pravidla jednou a drž se jich: uvozovky, středníky, odsazení, pořadí importů. Nástroj na formátování spusť před každým commitem, ne až při code review. Ušetřené hodiny nejsou v tom, že kód vypadá hezky, ale v tom, že při ladění vidíš jen změny, které něco znamenají.

Výměna a údržba: kde lidé chybují nejčastě

Pojmenovávej věci tak, aby nebylo co vysvětlovat. Funkce zpracujData() neříká nic, prevedCastkuNaEur() říká všechno. Vyhni se zkratkám jako tmp, data2 nebo vysledek, které za týden nebudou znamenat nic ani tobě. Pokud název potřebuje komentář, přejmenuj proměnnou místo psaní komentáře. Platí to i pro booleany: jeAktivni, maOpravneni, lzeOdeslat se čtou jako věty a snižují riziko otočené podmínky.

Ošetřuj chyby tam, kde vznikají, ne na konci řetězce. try/catch bez práce s chybou je horší než žádný, protože chybu spolkne a ty pak hledáš, proč funkce nic nevrací. Vždy loguj kontext: co funkce dostala, co očekávala a co se pokazilo. U asynchronního kódu nezapomeň, že await bez try/catch shodí celý blok, zatímco nezachycený promise může tiše selhat. Slib, na který nikdo nečeká, je nejčastější zdroj podivného chování.