Mýtus o dokonalé hygieně, který ničí zuby s rovnátky
Kdy začít a co udělat nejdř�
Co dítě skutečně sní a co jen nosí dom
Pozor na nápoje. Sladké džusy a limonády dodají rychlou energii, po které přichází únava a další hlad. Nejlepší je voda, případně neslazený čaj. Do krabičky nepřidávejte nic, co se rychle kazí, pokud nemá dítě chladicí vložku. V teplém dni se vyhněte majonézovým salátům a mléčným výrobkům, které nevydrží.
Poslední pravidlo se týká skladování. Závěsy, které střídáte podle ročního období, neukládejte složené do těsné police. Přeložená místa se časem vyseknou a vlákna v ohybu slábnou. Srolujte je kolem papírové trubice a uložte volně. Ubrusy skládejte střídavě, aby přehyby nevycházely stále na stejné místo. Čistý, suchý a volně uložený textil vydrží roky bez žloutnutí i bez ztráty pevnosti.
Třetí návyk se týká podmínek. Místo vnořených if použijte takzvané strážní klauzule: na začátku funkce odchytněte neplatné vstupy a okamžitě se vraťte. Tělo funkce se tím posune o úroveň vlevo a přestane být potřeba držet v hlavě pět úrovní zanoření. Pozor na častou chybu: return uvnitř bloku bez návratové hodnoty u funkcí, které mají něco vracet. Vznikne undefined, který se projeví až o dvě volání dál.
Malé funkce a návratové hodnoty místo vedlejších efektů Druhý návyk: funkce, která dělá tři věci, se ladí třikrát déle. Rozdělte ji tak, aby každá měla jediný úkol a ideálně vracela hodnotu místo přepisování vnějších proměnných. Funkce, která mění globální stav, je nejčastější zdroj chyb, které se projeví úplně jinde, než vznikly. Když potřebujete něco změnit na více místech, předejte vstup, vraťte výstup a změnu proveďte na jednom místě. Ušetříte tím hledání, kdo a kdy proměnnou přepsal.
První návyk se týká pojmenování. Funkce jako zpracujData nic neříká, kdežto prevedCastkuNaEur řekne, co bere a co vrací. Platí pravidlo: pokud název potřebuje komentář, je název špatný. Vyhněte se zkratkám typu tmp, val, arr a také obecným slovům jako data nebo info – za měsíc nebudete vědět, co v nich je. U booleanů používejte otázku: jePrihlasen, maOpravneni. Čtecí kód pak funguje jako věta a chybu odhalíte okem, ne debuggerem.
Fixní rovnátka vytvářejí kolem zámků a drátů místa, kam se kartáček běžným pohybem nedostane. Právě tam vzniká většina problémů: demineralizace skloviny pod zámkem, zánět dásní a zápach, který nikdo nevidí, ale cítí. Nejde o to čistit víc, ale čistit jinak než před nasazením rovnátek.
Čtvrtý návyk je konzistentní práce s hodnotami, které mohou chybět. Rozhodněte se, zda funkce vrací null, nebo vyhazuje chybu, a držte se toho všude. Míchání obojího vede k tomu, že polovina kódu kontroluje návratovou hodnotu a druhá polovina ne. Před voláním vlastnosti na objektu zkontrolujte, zda existuje, nebo použijte volitelný přístup ?.. U polí pamatujte, že find vrací undefined, zatímco filter vždy pole – záměna těchto dvou metod je častý zdroj tichých chyb.
Většina času u ladění nemizí na složité algoritmy, ale na kód, kterému po týdnu nerozumí ani jeho autor. Pět návyků níže není o estetice. Jsou to konkrétní opatření, která zkracují dobu mezi výskytem chyby a jejím odstraněním.
Pátý návyk: verzování a malé commity. Jeden commit by měl obsahovat jednu logickou změnu a popis, který říká proč, ne co. Když se objeví regrese, porovnáte dva stavy a vidíte ji okamžitě. Zároveň se vyhněte mazání kódu, kterému nerozumíte – nejdřív zjistěte, kdo ho volá. Ladění pak není hodiny hledání, ale minuty čtení rozdílu.