[custom_add_property_button]
[custom_sign_button]

Co se stane, když přestaneš pojmenovávat proměnné jednou literou

Čtvrtý návyk je návratové hodnoty. Funkce, která někdy vrátí objekt a někdy null, je past. Každý, kdo ji volá, musí myslet na obě varianty, a většina lidí na to zapomene. Buď vracej vždy stejný typ, nebo vyhoď chybu. Když vrátíš undefined, chyba se projeví až o tři volání dál, kde se snažíš přečíst vlastnost z ničeho. To je nejhorší druh ladění — hledáš příčinu daleko od místa, kde vznikla. Radši selži hned a nahlas. Prázdné pole místo null je také bezpečnější: for (const x of vysledky) funguje, i když nic nepřišlo.

Nejčastější chyba je potahování hotového výrobku tapetou nebo samolepkou. Papír při lepení zvlhne, karton se zdeformuje a rohy se rozjedou. Pokud chcete barevný povrch, natřete karton nejdřív akrylovou barvou ve dvou tenkých vrstvách a nechte každou pořádně proschnout. Barva karton zpevní a zároveň uzavře povrch, takže se do něj nevsákne vlhkost z rukou. Hotovou kuchyňku nebo obchod postavte na tvrdou podlahu, ne na koberec — na měkkém povrchu se krabice rozjíždějí do stran a spoje praskají.

Uvedená cena v katalogu je jen začátek. Rozhoduje cena konečná, tedy včetně dopravy, případného dobírkového poplatku a balného. E-shop s nižší cenou produktu se tak snadno dostane nad konkurenci, jakmile připočtete dopravu. Porovnávejte proto vždy dvě čísla: cenu zboží a cenu za doručení na vaši adresu. U zboží, které se vejde do schránky nebo na odběrné místo, bývá doprava výrazně levnější, někdy i zdarma. Sledujte také minimální hodnotu objednávky pro dopravu zdarma. Někdy se vyplatí přidat do košíku drobnost a celkově zaplatit méně než za samostatnou položku s dražším doručením.

Podací lístek se skládá ze dvou částí. Horní díl zůstává na poště, spodní díl dostanete potvrzený zpět. Na potvrzení musí být čitelné datum, částka a otisk podacího razítka. Bez razítka nemáte doklad o tom, že jste peníze podali. Zkontrolujte ho hned na přepážce, ne až doma. Dodatečně se doklad shání mnohem obtížněji.

Voda, odpady a větrání rozhodují o každodenním komfor

Druhý návyk se týká čísel a řetězců v kódu. if (stav === 2) neznamená nic. if (stav === Stavy.ODESLANO) znamená všechno, i když hodnotu za týden změníš. Tomu se říká magická konstanta a je to jeden z nejčastějších zdrojů chyb, které se projeví až v produkci. Stejně tak setTimeout(fn, 86400000) nikdo nepřečte. Pojmenovaná konstanta DEN_V_MS zabere jeden řádek a ušetří půl hodiny dohadování, jestli je to den, nebo dva. U řetězců pozor na překlepy: “aktivni” vs. “aktívni” s diakritikou. JavaScript je nenajde. Pomůže jedna konstanta nebo objekt s hodnotami na jednom místě.

Pojmenuj podle toho, co věc je, ne jak vypadá První návyk je triviální, ale většina lidí ho nedodržuje: každá proměnná, funkce a parametr musí nést jméno, které říká, co obsahuje. data neříká nic. aktivniUzivatele říká všechno. U funkcí použij sloveso: nactiObjednavky, overEmail, ulozZmeny. Když funkci nedokážeš pojmenovat slovesem bez „a” nebo „nebo”, dělá toho moc a měla by se rozdělit. Typická chyba je pojmenovat funkci zpracuj() a strčit do ní validaci, zápis do databáze i odeslání e-mailu. Při ladění pak nemáš tušení, která z těch tří věcí selhala. Rozdělením získáš tři místa, kde můžeš přidat log nebo breakpoint, místo jednoho velkého černého boxu.

Většina času při ladění nejde na složité logické chyby. Jde na to, že za týden nepoznáš, co znamená const d = a.filter(x => x.t >2). Mozek při čtení cizího i vlastního kódu potřebuje kontext. Pokud ho nedostane, začne hádat — a hádání při ladění stojí nejvíc času. Pět návyků níže není o estetice. Jsou o tom, kolik minut strávíš hledáním, proč se něco rozbilo.

Kde se ochrana lá

Pátý návyk je jediná zodpovědnost za vedlejší efekty. Funkce, která jen počítá a nic nemění, se ladí snadno — zavoláš ji, dostaneš výsledek, hotovo. Funkce, která zároveň čte soubor, mění globální stav a posílá požadavek, se ladí těžko, protože výsledek závisí na pořadí volání. Drž vedlejší efekty na okrajích programu a logiku uvnitř. Když se něco rozbije, budeš vědět, že problém není v čistém výpočtu. Těchto pět návyků nezní vzrušující, ale každý z nich ubírá minuty z času, který trávíš hledáním, proč to sakra nefunguje.

A hallway with a black door and white wallsTřetí návyk je o velikosti funkcí. Pokud funkce přesáhne zhruba dvacet řádků, pravděpodobně dělá víc věcí, než by měla. Nemusíš to počítat přesně. Stačí se zeptat: dokážu tuhle funkci popsat jednou větou bez spojky „a”? Když ne, rozděl ji. Malé funkce se snáz testují a snáz se v nich najde chyba. Zároveň platí, že funkce by měla mít co nejméně parametrů. Tři už jsou na hraně, čtyři znamenají, že si je při volání spleteš. Řešení je předat objekt s pojmenovanými vlastnostmi — vytvorUcet( jmeno, email, role ) — protože záměna pořadí přestane být možná.

Please Sign In Before Adding a Property Or Sign Up If You Don't Have An Account