Pět zlozvyků v JavaScriptu, kvůli kterým hodiny hledáte chybu
Prostor pod postelí je největší skrytá plocha v bytě. Pokud máte rám bez úložného prostoru, použijte ploché úložné boxy s kolečky nebo vak na zip. Pod postel patří jen věci, které vytáhnete dvakrát do roka – lyže, sezónní deky, kufry. Na co si dát pozor: vlhkost a prach. Box musí mít víko a mezi ním a podlahou nechte mezeru kvůli větrání, jinak začne látka plesnivět. Další past je výška – změřte si světlost pod postelí dřív, než cokoli koupíte.
Než začnete shánět novou sedačku, zkuste ji opravit. Vyjměte sedák, pokud to jde, a prohlédněte výplň. Stlačenou pěnu můžete nahradit tuhou deskou z překližky nebo silnější vrstvou molitanu. Desku vložte mezi pěnu a rám, aby se váha rozložila rovnoměrně. U opěradla pomůže vložená bederní podložka z rolované deky nebo tvrdší pěny. Umístěte ji do prohlubně nad sedákem, ne do místa, kde tlačí. Po každé úpravě si sedněte alespoň na deset minut a sledujte, zda se tlak změní.
Třetí návyk: předávejte data, ne stav. Funkce, která sahá na globální proměnnou nebo na this z vnějšího rozsahu, se ladí obtížně, protože její výsledek závisí na něčem, co v místě volání nevidíte. Pokud hodnotu potřebujete, předejte ji jako parametr a vraťte výsledek pomocí return. Vyhnete se tak typické chybě, kdy se proměnná změní na jednom místě a rozbije to úplně jinde.
První návyk: pojmenovávejte věci podle toho, co dělají, ne jak vypadají. data, vysledek nebo tmp vám za týden nic neřeknou. seznamFaktur, pocetPokusu, jePrihlasen ano. Platí to i pro funkce: pokud název obsahuje spojku „a" (nactiAOver), funkce dělá toho moc a měla by se rozdělit. Při ladění pak nemusíte číst celé tělo funkce, abyste zjistili, co se v ní děje.
Pátý návyk: logujte smysluplně a konzistentně. Místo console.log(x) pište console.log('pocetPokusu', pocetPokusu), abyste v konzoli věděli, co která hodnota znamená. Před commitem tyto výpisy odstraňte nebo použijte úrovně console.debug. A ještě jedna věc: nikdy nepolykejte chyby prázdným catch. Prázdný blok catch (e) {} je místo, kde chyba zmizí a vy pak hodiny hledáte, proč se něco nespustilo.
Svetr z vlny nebo kašmíru neperte v pračce, pokud nemá program na vlnu. Ruční praní ve vlažné vodě s prostředkem na vlnu je šetrnější. Nevytahujte ho, neždímejte – vodu vymačkejte do ručníku. Sušte vodorovně, nikdy na ramínku, jinak se vytáhne. Odkud se berou žmolky? Třením o jiné oblečení. Pomůže prát svetr samostatně nebo v síťce. Bambusové a viskózové kousky jsou ještě citlivější, perte je ručně a nikdy neždímejte.
U klidných řek s pozvolným proudem stačí lehká pěnová helma s dobrým odvětráním. Vestu volte plovací s pevným zapínáním na zip a přezku, která se nedá samovolně povolit. Hlavní je, aby vesta seděla na těle a nevyjížděla nahoru, když vás proud nadzvedne. Zkoušejte ji v obchodě vždy nasazenou i přes oblečení, které budete mít na vodě.
Terakota je pro nenáročné pokojovky dobrá volba, protože přebytečnou vlhkost odpařuje přes stěny a kořeny dýchají. Plast drží vodu déle, což vyhovuje kapradinám a rostlinám v suchém bytě, ale u sukulentů a tlustic vede k přelití. Keramika s glazurou uvnitř i vně zadržuje vodu podobně jako plast. Na dno vždy dej drenážní vrstvu z keramzitu nebo hrubého písku, asi dva centimetry. Nikdy nenasypávej hlínu přímo na dno bez drenáže, i když květináč dírku má.
Většina času u ladění nejde na složité logické chyby. Jde na drobnosti, které jste přehlédli při psaní: chybějící závorka, proměnná ve špatném rozsahu platnosti, funkce, která dělá tři věci najednou. Čistý kód není estetika. Je to praktický nástroj, jak se k chybě dostat rychleji, protože v přehledném kódu ji uvidíte dřív, než ji začnete hledat.
Žádný z těchto návyků není o délce kódu ani o stylu. Je o tom, že každá nejasnost vás při ladění stojí čas. Čím méně nejasností v kódu necháte, tím dřív narazíte na skutečnou příčinu místo na její stín.
Čtvrtý návyk: kontrolujte vstupy na hranici, ne uvnitř logiky. Když funkce očekává číslo, ověřte to hned na začátku a při neplatné hodnotě skončete (return nebo vyhození chyby). Vnitřek tak může předpokládat, že data jsou v pořádku, a nemusíte psát obranné podmínky do každého kroku. Častá chyba je opak: ošetřovat null až hluboko uvnitř výpočtu, kde už je těžké zjistit, odkud se vzal.
Malé funkce a krátké bloky Druhý návyk: držte funkce krátké, ideálně do dvaceti řádků, a každou větev if na pár řádcích. Dlouhá funkce s pěti úrovněmi vnoření je místo, kde se chyby schovávají nejraději. Když blok naroste, vytáhněte jeho obsah do samostatné funkce s výstižným názvem. Získáte dvě věci: kód půjde číst po částech a do ladění můžete vstoupit přesně v místě, kde tušíte problém, místo abyste procházeli celý strom.