Základem je sjednotit barvy. Světlé odstíny na stěnách, podlaze i velkých plochách odrážejí světlo a stěny se zdánlivě posouvají dál. Zvolte jeden světlý tón a doplňte ho maximálně dvěma dalšími v podobné škále. Tmavé akcenty použijte jen bodově, například na rámu obrazu nebo na textilu. Naopak velké tmavé plochy, jako je masivní tmavý nábytek nebo tmavý koberec po celé podlaze, ložnici opticky stlačí a pohltí denní světlo.
Nábytek stavte ke stěnám a snažte se uvolnit co nejdelší souvislou podlahovou plochu. Postel umístěte tak, aby neblokovala průchod a aby její delší strana kopírovala delší stěnu. Skříně s lesklými nebo skleněnými dvířky působí lehčeji než masivní dřevěné. Pokud je to možné, zvolte nábytek na nožičkách – pod ním prosvítá podlaha a místnost působí vzdušněji. Vyhněte se vysokým masivním skříním až ke stropu, pokud nemají světlou barvu a čisté linie.
Nelov chyby jen podle výpisu zásobníku. Nauč se číst typy: undefined znamená, že objekt nemá vlastnost, nebo že funkce nic nevrací. null často pochází z volání, které selhalo tiše. NaN vzniká při převodu nečíselného řetězce na číslo. Když víš, co který typ znamená, najdeš příčinu dřív než v textu chyby. Pomáhá i console.log s popiskem, ne jen samotná hodnota — jinak za chvíli nevíš, který výpis patří které proměnné.
Základem je nosný rošt z profilů, na které se desky kladou kolmo. U velkoformátových desek se vyplatí volit profily s větší tuhostí a menší roztečí, než jaká stačí u malých formátů. Pokud jde o strop, vzdálenost mezi nosnými profily se typicky pohybuje mezi 400 a 600 mm; u podhledů s větším rozponem nebo s izolací je bezpečnější hodnota 400 mm. U stěn platí, že svislé profily se osazují po 600 mm, ale u desek nad 2400 mm délky je vhodné zkrátit rozteč na 400 mm, jinak se deska v poli prohne.
Nejčastější příčinou bývá tvrdá voda. Pokud rostliny zaléváte vodou z kohoutku, vápenaté soli se ukládají na listech i v substrátu. Skvrny jsou pak bílé, suché a dají se setřít prstem. Řešení je jednoduché: používejte vodu převařenou a odstátou, dešťovou nebo alespoň filtrovanou. Listy jednou za čas otřete vlhkým hadříkem namočeným v měkké vodě. Pozor na přílišné leštění — ucpává póry a rostlina hůř dýchá.
Náplň musí být vychladlá a zbavená přebytečné tekutiny. Jablka nastrouhejte, dejte do hrnce s cukrem a skořicí a krátce poduste, aby pustila šťávu. Tu slijte a použijte jinde, jinak těsto rozmáčí a štrúdl se v troubě rozpadne. Náplň rozložte na těsto do pruhu širokého asi 8 cm, okraje nechte volné. Rolujte pomocí papíru, ne rukama. Když se těsto přesto protrhne, záplatujte ho kouskem těsta z okrajů, ne mokrými prsty.
Poslední návyk je krátká zpětná vazba: po každé změně spusť test nebo alespoň otevři stránku a zkontroluj konzoli. Když nasbíráš pět úprav bez ověření, nevíš, která z nich chybu způsobila. Čistý kód není cíl, je to nástroj, díky kterému se chyba projeví hned, ne za hodinu.
Používej const, dokud nepotřebuješ změnit hodnotu. Většina proměnných se v JavaScriptu nikdy nepřiřazuje znovu, a přesto je deklarujeme přes let. Každé let je signál, že se hodnota může změnit, takže při ladění musíš hledat, kde k přiřazení došlo. U const máš jistotu, že hodnota zůstává stejná, i když jde o objekt, jehož vlastnosti měnit můžeš. Typická chyba je const u čítače ve smyčce — tam patří let, jinak kód spadne při prvním průchodu.
Ladění často nezačíná v debuggeru, ale už ve chvíli, kdy se rozhoduješ, jak proměnnou pojmenuješ a kde ji vytvoříš. Když se kód čte špatně, každá chyba se hledá dvakrát tak dlouho. Následujících pět návyků není o estetice, ale o tom, abys v cizím i vlastním kódu našel příčinu rychle.
Vyhýbej se hlubokému vnořování podmínek. Každá úroveň navíc znamená další stav, který musíš držet v hlavě. Místo if (uzivatel) if (uzivatel.aktivni) if (uzivatel.prava) { … } použij takzvaný early return: nejdřív ošetři neplatné případy a zbytek funkce nech na hlavní logiku. Kód se zkrátí, ale hlavně zmizí nutnost sledovat, co platí po každé závorce.
Pojmenuj věci tak, aby bylo jasné, co dělají Název funkce má říkat, co vrací nebo co mění, ne jak je implementovaná. Místo zpracujData použij normalizujTelefon nebo overEmail. Když funkce dělá dvě věci, rozděl ji. Funkce, která načte data a zároveň je zapíše do souboru, se v chybovém hledání chová nepředvídatelně — nevíš, jestli selhalo čtení, nebo zápis. Malé funkce s jedním úkolem se testují snadno a v debuggeru se v nich neztratíš.