Co se stane, když přestaneš šetřit na čitelnosti kódu
Většina lidí otevírá e-mailový klient hned po příchodu do práce a zavírá ho až večer. Přitom se nic nevyřeší, jen se přesouvá pozornost mezi desítkami vláken. Čas se neztrácí čtením, ale rozhodováním, co s každou zprávou udělat. Pět níže popsaných nástrojů nejsou aplikace, které si stáhnete. Jsou to postupy, které zkrátí práci s poštou na polovinu, pokud je zavedete důsledně.
Vodu napusťte tak, aby sahala po prsa, ne po krk. Teplota mezi 36 a 38 stupni. Příliš horká voda po dýchání způsobí opětovné zúžení cév a účinek se smaže. Byliny dejte do plátěného sáčku a povařte je pět minut v hrnci, pak výluh vlijte do vany. Sáček nechte ve vodě po celou dobu koupele. Do vody nevstupujte hned po cvičení, ale dvě až tři minuty počkejte, než se dech srovná. První minutu stůjte nebo pomalu usedejte, aby tělo přivyklo teplotě.
Nezapomínejte na větrání a teplotu. V podkroví se v létě hromadí teplo a v zimě rychle uniká. Pomůže střešní okno s doplňkovou clonou a vzduchová mezera mezi izolací a obložením. Pokud do šikminy vrtáte, ověřte si, kudy vedou parozábrana a izolace, abyste nenarušili jejich funkci. U nízkých prostor raději volte nástěnné osvětlení místo stojacích lamp, které zabírají podlahu.
Akumulace tepla není o tom, že zeď je „teplá na dotek", ale o tom, kolik energie dokáže pojmout při přebytku a jak dlouho ji pak vydává, když výroba ustane. Rozhoduje proto kombinace tloušťky, objemové hmotnosti a měrné tepelné kapacity materiálu. Lehký materiál s vysokou kapacitou nestačí, pokud ho je málo. Silný materiál s nízkou kapacitou zase teplo udrží krátce. Cílem je dostatečná hmota v jádru konstrukce, ne tlustá izolace, která akumulaci brzdí.
Třetí návyk je nemíchat dohromady data, stav a vedlejší efekty. Funkce, která zároveň čte z databáze, mění globální proměnnou a vypisuje do konzole, se nedá otestovat izolovaně. Když oddělíš načítání dat od jejich zpracování a od zápisu, můžeš každou část ověřit zvlášť. Typická chyba je předávat objekt a uvnitř ho měnit. Volající o tom neví a za dvě hodiny řeší, proč se mu data změnila pod rukama. Vracej novou hodnotu, neměň vstup.
Nakonec ověřte, zda materiál sedí k režimu vytápění. U podlahového vytápění s nízkou teplotou vody vyhoví i menší tloušťka, protože teplotní rozdíl je malý a dlouhodobý. U krbových kamen nebo tepelných čerpadel s rychlými výkyvy je vhodnější větší hmota, která špičky vyhladí. Pokud si nejste jistí, začněte výpočtem potřeby tepla a teprve pak volte materiál a tloušťku — ne naopak.
Pátý návyk je průběžně uklízet, ne jednou za rok. Když upravíš funkci, přejmenuj proměnnou, která už lže, a smaž kód, který se nikdy nespustí. Mrtvý kód mate při hledání souvislostí a nafukuje soubory. Formátování ať řeší nástroj, ne ruční zarovnávání, které při každé změně rozhodí diff. Čistý kód není cíl, ale vedlejší efekt toho, že po sobě pokaždé uklidíš. Hodiny, které tím ušetříš, nejsou v ladění. Jsou v tom, že ladit vůbec nemusíš.
Každý, kdo někdy vracel chybu, kterou sám napáchal před půl rokem, ví, že ladění není otázka talentu, ale toho, jak je kód napsaný. Čistý kód neznamená krásný kód. Znamená kód, u kterého za měsíc poznáš, co dělá, aniž bys musel spouštět debugger. Následujících pět návyků není o estetice. Jsou o tom, kolik hodin strávíš hledáním chyby, kterou šlo odhalit na první pohled.
Křehké cukroví nedrží pohromadě nejčastěji proto, že těsto šlo do trouby příliš brzy po hnětení. Máslo se v teple rozteče dřív, než mouka stačí zpevnit strukturu, a výsledek se při prvním kousnutí rozpadne. Po zapracování tuku nechte těsto v chladničce alespoň dvě hodiny, u těst s velkým podílem ořechů klidně přes noc. Chlad neznamená mráz: teplota kolem pěti stupňů stačí, v mrazničce těsto ztvrdne natolik, že se při vyvalování láme a lepí.
První návyk je pojmenovávat věci tak, aby nesly informaci. Funkce getData nic neříká. Funkce nactiObjednavkyZakaznika řekne, co bere, co vrací a co dělá. Pokud název potřebuje komentář, je název špatný. Pozor na zkratky, kterým rozumíš jen ty. Za tři měsíce jim nebudeš rozumět ani ty a budeš dohledávat, co znamená tmp2. Proměnná s jasným názvem je levnější než hodina hledání v historii gitu.
Malé funkce a včasné návraty místo vnořených bloků Druhý návyk se týká struktury. Funkce, která má přes padesát řádků a tři úrovně vnoření, se ladí nejhůř. Rozděl ji na menší celky, každý s jedním úkolem. Místo hlubokého if uvnitř for uvnitř if použij včasný návrat. Kontrolu vstupu vyřeš na začátku a zbytek funkce se věnuje jen hlavní logice. Vnořený kód nutí čtenáře držet v hlavě příliš mnoho stavů najednou. Čím méně stavů, tím méně místa pro chybu.