Co se stane, když přestanete psát nepořádek v JavaScriptu
Největší chybou je cpát do předsíně tmavý nábytek s lesklým povrchem. Lesk sice odráží světlo, ale zároveň vytváří ostré odlesky, které prostor opticky rozbíjí. Matné světlé povrchy – stěny v teplém bílém nebo velmi světlém šedém odstínu – odrážejí světlo rovnoměrně a předsíň působí vzdušněji. Podlaha by měla být o jeden až dva odstíny tmavší než stěny, aby místnost měla pevnou základnu a nepůsobila jako prázdná krabice.
Prevence je nakonec jednodušší než řešení škod. Nastavte si, kdo vám může posílat zprávy, a cizí žádosti o přátelství ignorujte. Nikdy neposílejte peníze na základě zprávy, i kdyby přišla od nejbližšího člověka. Ověřujte, neklikejte, nespěchejte. Právě zvyk ověřovat zprávu jinou cestou zastaví většinu útoků dřív, než začnou.
Jak vyřešit úložiště ve sklo
Výběr helmy a vesty na rafting nezačíná v půjčovně, ale u otázky, jaký typ řeky pojedete. Jiné nároky má klidná voda s peřejemi do stupně WW II, jiné divoká řeka s peřejemi WW IV a výše. Na klidné řece stačí lehčí výbava, která dobře sedí a umožní pohyb. Na divoké vodě rozhoduje pevnost, plocha krytí a to, jak výbava drží na těle při nárazu do válce.
Malé funkce a jediná odpovědnost Druhý návyk: držte funkce krátké a s jedním úkolem. Funkce, která načítá data, validuje je, ukládá a ještě vykresluje, se ladí nejhůř, protože nevíte, která část selhala. Rozdělte ji na nactiData(), validujData(), ulozData(). Každou pak otestujete samostatně. Typická chyba je předávat příliš mnoho parametrů — jakmile jich je víc než tři, zvažte objekt. A pozor na vedlejší efekty: funkce, která mění stav mimo sebe, je zdrojem nepředvídatelných chyb.
Šikmý strop v dětském pokoji vypadá na první pohled jako problém. Ve skutečnosti jde o prostor, který má jasná pravidla. Kdo je zná, získá místo navíc. Kdo je ignoruje, skončí s hromadou nevyužitých koutů a dítětem, které si nemá kam dát věci. Rozhoduje výška, sklon a to, kde stojí dveře a radiátor.
Čtvrtý návyk: nikdy neopakujte stejný kód na více místech. Zkopírovaný blok se při opravě zapomene upravit jinde a vznikne chyba, která se projeví jen v některých případech. Když se stejná logika objeví potřetí, přesuňte ji do funkce nebo konstanty. Stejně tak držte konfiguraci na jednom místě — rozeseté hodnoty v celém projektu se ladí obzvlášť špatně.
První návyk: pojmenovávejte věci tak, aby se daly přečíst nahlas. const d = new Date() nikomu nic neřekne, const datumObjednavky = new Date() ano. Platí to i pro funkce: zpracuj(data) je slabé, vypocitejCenuSVatou(data) je jasné. Když po půl roce otevřete soubor, nemusíte znovu zjišťovat, co která zkratka znamená. Vyhněte se i příliš dlouhým názvům, které jen opisují implementaci — název má říkat, co funkce dělá, ne jak to dělá.
Pátý návyk: pište komentáře k rozhodnutím, ne k syntaxi. // zvýšíme o jedničku nemá cenu, ale // API vrací data v jiném pořadí, proto řadíme ručně ušetří hodiny. Komentář má vysvětlit proč, ne co. Když kód potřebuje komentář k tomu, co dělá, je pravděpodobně příliš složitý.
Třetí návyk: používejte konzistentní styl a nástroje. Prettier a ESLint nejsou zbytečnost, ale zachytí chyby dřív, než je začnete hledat. Zapněte si kontrolu rovnosti (=== místo ==), zákaz nepoužitých proměnných a upozornění na chybějící await. Právě zapomenutý await je klasika: funkce vrátí Promise, vy s ním pracujete jako s hodnotou, a výsledek je undefined. Linter to odhalí okamžitě, vy nebudete hodinu hledat, proč data chybí.
Většina času při ladění nejde na složité chyby v logice, ale na chyby, které vznikly zbytečně. Přejmenovaná proměnná, zapomenutý návrat, funkce, která dělá pět věcí najednou. Čistý kód není estetika pro estéty, je to prevence. Následujících pět návyků zkracuje ladění z hodin na minuty.