Proč čistý kód v JavaScriptu zkracuje ladění na polovinu?
Začněte tam, kde vás současný stav obtěžuje nejvíc. Není to estetika, ale provoz. Ráno se tlačíte v jedné koupelně, zásuvky nestíhají rychlovarnou konvici a mikrovlnku zároveň, topení v jedné místnosti přetápí a ve druhé je zima. Sepište si tyto konkrétní situace a k nim přiřaďte úpravy. Tím vznikne seznam, který má logiku a který se dá obhájit i před rodinou.
Barvy, které v tmavé předsíni nefunguj
Čtvrtým návykem je kontrolovat vstupy hned na začátku funkce. Místo abyste doufali, že parametr bude číslo, ověřte to. if (typeof pocet !== 'number') throw new Error('pocet musí být číslo'); vypadá jako zbytečnost, ale zachrání vám hodiny, protože chyba se projeví v místě vzniku, ne o pět volání dál. Stejně tak kontrolujte null a undefined u objektů a polí. Většina pádů v JavaScriptu vzniká čtením vlastnosti z undefined. Včasná kontrola tento problém odřízne.
Světlo, zvuk a voda na dos
Začněte vyšleháním změklého másla do světlé pěny. Poté přidejte pistáciovou pastu a šlehejte na střední rychlost, dokud se obě složky nespojí. Teprve pak po lžících přidávejte cukr nebo jiné sladidlo. Když je směs jednotná, snižte otáčky a pomalu přilévejte smetanu nebo mléko. Vysoké otáčky zde škodí – vhánějí do krému vzduch, který později vytváří bubliny a nerovnoměrnou texturu. Na závěr krém prožeňte přes jemné síto nebo ho krátce prošlehejte metličkou ručně. Tím se odstraní i ty nejmenší hrudky.
Každý, kdo někdy strávil hodiny hledáním chybějící čárky nebo špatně pojmenované proměnné, ví, že ladění je nejdražší část vývoje. Čistý kód není estetická záležitost. Je to praktický nástroj, který rozhoduje o tom, zda opravíte chybu za pět minut, nebo za celý den. Následujících pět návyků funguje okamžitě a nevyžaduje žádné speciální nástroje.
Prvním návykem je pojmenovávat věci podle toho, co dělají, ne jak vypadají. Proměnná data nic neříká, ale seznamAktivnichUzivatelu řekne vše. Stejně tak funkce spocitejCenuSPDPH je čitelná i po půl roce. Vyhněte se zkratkám typu usr, tmp nebo arr. Pokud název nedokážete vyslovit nahlas, je špatný. Tento zvyk snižuje potřebu komentářů a hlavně zabraňuje záměně proměnných, což je jedna z nejčastějších příčin tichých chyb.
Jeden stropní lustr v malé předsíni vytvoří ostré stíny a prostor spíš zmenší. Rozdělte světlo do dvou až tří vrstev: základní stropní svítidlo s rozptýleným krytem, doplňkové nástěnné světlo u zrcadla a případně nenápadné bodové světlo nad botníkem. Důležité je, aby světlo dopadalo na zrcadlo z boku nebo zepředu, nikdy ne zpoza hlavy. Boční světlo vytvoří v odrazu hloubku, čelní jen plochu.
Pátým návykem je používat const všude, kde to jde, a let jen tam, kde se hodnota skutečně mění. var v moderním kódu nemá co dělat. Zároveň nikdy nemíchejte deklarace na různých místech funkce. Když je proměnná definovaná nahoře a nemění se, čtenář nemusí přemýšlet, jestli se někde nezměnila. To výrazně zkracuje dobu, po kterou hledáte, proč se hodnota najednou chová jinak. Tyto návyky nejsou o dokonalosti. Jsou o tom, abyste po sobě nemuseli uklízet tam, kde to bolí nejvíc.
Malé funkce a jediná odpovědnost Druhým návykem je psát funkce, které dělají jednu věc. Funkce, která načte data, upraví je, vykreslí do tabulky a ještě odešle analytiku, se při ladění nedá izolovat. Rozdělte ji na čtyři samostatné funkce. Každá pak může mít vlastní test nebo alespoň vlastní console.log. Platí pravidlo: pokud funkce přesáhne dvacet řádků nebo má více než tři parametry, s velkou pravděpodobností dělá příliš mnoho. Menší funkce se snáze čtou, snáze testují a chyba se v nich najde rychleji.
Třetím návykem je vyhýbat se sdílenému měnitelnému stavu. Globální proměnné a objekty předávané mezi mnoha funkcemi vytvářejí chyby, které se projeví úplně jinde, než vznikly. Preferujte předávání hodnot parametrem a vracejte nové objekty místo přepisování existujících. V JavaScriptu k tomu slouží spread operátor nebo metody jako map, filter a reduce. Když funkce nemění vnější stav, můžete ji volat opakovaně a výsledek je vždy stejný. To je základ předvídatelného chování.