Polena skládejte na sebe tak, aby mezi nimi zůstaly mezery. Nepasujte je k sobě natěsno, i když se vám bude zdát, že se tím hromada zpevní. Naopak – čím volněji jsou polena položená, tím lépe odchází vlhkost. Odborníci doporučují skládat dřevo kůrou nahoru, aby dešťová voda stékala po kůře a nevsakovala se do štěp. Pokud máte kulatinu, naštípejte ji před sušením. Naštípané dřevo schne několikanásobně rychleji než celé kmeny.
Barvy držte v jedné základní rodině a přidejte maximálně jeden akcent. Světlé odstíny na stěnách a velkých plochách místnost nezvětší samy o sobě, ale nespotřebují tolik světla. Tmavá zeď za postelí ale funguje dobře — vytvoří hloubku a ložnici zklidní. Co opravdu škodí, je mnoho různých vzorů a barev na malé ploše. Textil, povlečení a kobereček slaďte, nechte vyniknout jednu výraznou věc.
Typická chyba je naskládat dřevo na jednu velkou hromadu bez jakéhokoli členění. Vzduch se do středu nedostane a uvnitř zůstává vlhko i po roce. Lepší je vytvořit dvě nebo tři menší hromady vedle sebe s mezerou mezi nimi. Další častou chybou je skladovat dřevo v uzavřené místnosti bez přístupu vzduchu. Dřevo potřebuje neustálý pohyb vzduchu, jinak jen přesouvá vlhkost z jednoho polena na druhé. Pokud skladujete v krytém prostoru, nechte mezi hromadou a stěnami alespoň dvacet centimetrů.
Prvním návykem je pojmenovávat věci tak, aby nesly význam. Proměnná data neříká nic. seznamAktivnichUzivatelu řekne všechno. Platí to i pro funkce: pokud název nepopisuje, co funkce dělá, s největší pravděpodobností dělá víc věcí najednou. Krátké názvy typu x, tmp nebo arr mají smysl jen v cyklu o třech řádcích. Jakmile kód přesáhne obrazovku, krátké názvy začnou lhát.
Třetím návykem je vyhýbat se sdílenému měnitelnému stavu. Globální proměnné a objekty, které se mění na mnoha místech, jsou zdrojem chyb, které se projeví až daleko od místa vzniku. Když funkce dostane data jako parametr a vrátí novou hodnotu, aniž by měnila vstup, je mnohem snazší sledovat, co se v programu děje. Nemusíte přepisovat celý projekt. Stačí začít u nových funkcí a postupně upravovat ty, které způsobují nejvíc problémů.
Po nasazení prvního scénáře si veďte krátký záznam: co spouští, co dělá, kdo za něj odpovídá a kde se hlásí chyby. Teprve když jeden proces běží spolehlivě několik týdnů, přidejte druhý. Automatizace není jednorázový projekt, ale postupná úprava práce. Čím méně kroků zůstane ručních, tím menší je prostor pro chyby a tím dřív se administrativa přestane hromadit.
Pátým návykem je čistý formát a konzistentní styl. Nečitelné odsazení, chybějící středníky nebo různá pravidla pro uvozovky nutí mozek neustále přepínat pozornost. Nástroje na formátování kódu tento problém řeší automaticky. Nastavte si je jednou a nechte je pracovat při každém uložení souboru. Ušetřená pozornost se pak věnuje skutečnému problému, ne hledání chybějící závorky.
Kout ve zdi široký metr a půl se dá proměnit v pracoviště, kde se dá souvisle pracovat několik hodin. Rozhoduje ale výška, ne podlaha. Většina lidí začne tím, že koupí co nejmenší stůl, a teprve pak zjistí, že se do prostoru nevejdou ramena, monitor ani židle. Začněte proto u sebe: posaďte se na židli, kterou chcete používat, a změřte si šířku ramen s lokty u těla. Deska stolu by měla být alespoň o dvacet centimetrů širší, jinak budete sedět zkrouceně a po hodině vás bude bolet mezi lopatkami.
Čtvrtým návykem je psát malé testy nebo alespoň ověřovací podmínky přímo v kódu. Nemusí jít o velký testovací framework. Stačí funkce, která po dokončení výpočtu zkontroluje, zda výsledek odpovídá očekávání, a v opačném případě vyhodí srozumitelnou chybu. Ladění se tím zkrátí z hodin na minuty, protože místo hledání v celém programu dostanete přesnou informaci o tom, kde a co selhalo.
Funkce, které dělají jednu věc Druhým návykem je držet funkce krátké a zaměřené. Funkce, která načte data, upraví je, vykreslí do tabulky a ještě odešle analytickou událost, se ladí velmi těžko, protože chyba může být v kterékoli z těch čtyř operací. Rozdělení na menší celky není samoúčelné. Umožňuje izolovat problém: když něco selže, víte, která část to způsobila. Praktické pravidlo: pokud funkce potřebuje víc než tři úrovně odsazení, pravděpodobně toho dělá příliš.
Každý vývojář zažil situaci, kdy po dvou hodinách hledání chyby zjistí, že problém je v názvu proměnné, která se v jiné části kódu jmenuje skoro stejně. Ladění není pomalé proto, že bychom byli pomalí. Je pomalé proto, že kód klade odpor. Čitelný kód není estetická záležitost, ale nástroj, který zkracuje dobu mezi „něco nefunguje” a „už vím proč”.