Jak psát čistý JavaScript: 5 zvyků, které vám ušetří hodiny ladění
Většina komentářů v JavaScriptu je zbytečná, protože opakuje to, co říká kód. Komentář „// přičteme 1" k řádku `count++` nic nepřidá. Naopak komentář „// offset 1, protože API vrací index od 1" je k nezaplacení. Komentujte tedy hlavně netriviální rozhodnutí, business pravidla a opravy bugů. Kód samotný by měl být čitelný bez komentářů, komentáře by měly doplňovat kontext, který z kódu nevyčtete.
Funkce, která dělá tři věci najednou, je past. Příklad: funkce `handleClick` validuje formulář, posílá data na server a aktualizuje UI. Když se něco pokazí, nevíte, kde hledat. Rozdělte ji na `validateForm`, `sendFormData` a `updateUI`. Každá funkce by měla mít maximálně 10–15 řádků. Tím se také snižuje počet vnořených podmínek a cyklů, které jsou nejčastějším zdrojem logických chyb.
Čistý kód není o estetice, ale o čase. Každá nejasná proměnná nebo zbytečně dlouhá funkce se dříve či později stane zdrojem chyby, kterou budete dohánět hodiny. Následujících pět návyků vám pomůže psát kód, který se snadno čte, testuje a hlavně ladí.
Dalším častým trikem je falešná „ověřovací stránka", která se tváří jako oficiální rozhraní vaší banky. Přestože vypadá věrohodně, adresa v prohlížeči se liší nebo obsahuje drobné překlepy. Nezadávejte na takové stránce přihlašovací jméno ani heslo. Pokud už jste to udělali, okamžitě kontaktujte banku a požádejte o zablokování přístupu. Vždy je lepší jednat rychle a riziko minimalizovat.
Základem je rozfázovat si trasu podle zatížení, nejen podle kilometrů. Představte si, že stoupání vás unaví fyzičně, ale sestup vás ničí mechanicky – každý krok z kopce násobí náraz na klouby. Proto při plánování počítejte s tím, že na každých sto nastoupaných metrů byste měli mít v záloze alespoň patnáct minut navíc na sestup. Pokud je trasa dlouhá a má prudké klesání, rozdělte si ji na úseky a naplánujte si pauzy na protažení lýtek a stehen, případně na výměnu ponožek.
Nakonec si shrňte, co vám může pomoci: vždy si najděte nezávislé recenze, porovnejte ceny s jinými obchody a pokud je nabídka výrazně výhodnější než jinde, buďte ve střehu. Předplatbu si uložte do paměti a nikdy neklikejte na odkazy v e-mailu, které vás zvou k doplnění platebních údajů. Většina podvodů končí neúspěchem, když se oběť zastaví a položí si jedinou otázku: „Proč by po mně web chtěl heslo, když jsem už objednal?" Odpověď je jednoduchá: protože se vás snaží okrást.
Cesta k veterináři obvykle znamená zákrok v celkové anestezii. To není rozmar – pes musí být v klidu, aby bylo možné bezpečně odstranit kámen z poddásní a vyčistit i zuby, které jsou skryté. Před zákrokem veterinář doporučí krevní testy, které ověří stav jater a ledvin, protože právě ty metabolizují anestetika. Po výkonu může být pes unavený a citlivý na tlamu, ale to odezní během jednoho dne. Většinou je součástí ošetření i leštění zubů, které znesnadňuje další usazování povlaku.
Úložné prostory vyřešíte police ve tvaru schodů – necháte je vyrobit z masivu, nebo si je sami sestavíte z dřevěných desek. Každý stupeň pak slouží jako úložiště na knihy, časopisy nebo čtecí brýle. Do vyšších polic umístěte věci, které nepotřebujete mít po ruce, aby se vám do nich dobře sahalo. Nezapomeňte na elektrické zásuvky – pokud je nemáte v blízkosti, protáhněte si prodlužovačku podél zdi a zajistěte ji proti zakopnutí.
Nábytek a světlo: jaká řešení fungují v praxi Základ tvoří sedací prvek. Vybírejte podle hloubky výklenku – do mělkých koutů se hodí úzká lavice s měkkým polštářem, do hlubších naopak křeslo s podnožkou. Nejlepší je nechat si vyrobit polštář na míru z tvrdší pěny, která drží tvar. Na podlahu dejte koberec s krátkým vlasem, který se snadno čistí, a pořiďte si pár dek na přikrytí nohou.
Tyto návyky nezmění váš kód přes noc, ale po týdnu je začnete používat automaticky. Výsledek: méně bugů, rychlejší hledání chyb a větší radost z programování. Začněte s jedním zvykem, třeba s pojmenováváním, a postupně přidávejte další.
JavaScript má dva typy porovnání: `==` a `===`. Vždy používejte `===`, protože `==` převádí typy a může způsobit zákeřné chyby jako `0 == false` (true). Druhý bod je o neměnění vstupních dat. Pokud funkce přijímá pole nebo objekt, nevolejte na něm `push`, `sort` nebo měňte vlastnosti – vytvořte kopii. Nechtěná mutace je častá příčina chyb, kdy na první pohled nesouvisející část aplikace přestane fungovat. Používejte metody jako `map`, `filter`, `reduce`, a pro kopírování objektů spread operátor.