Větrejte krátce a intenzivně, ne celý den na ventila
Kolo na balkoně v zimě trpí. Mráz a vlhkost ničí řetěz, ložiska a brzdové špalky. Pokud nemáte jinou možnost než ho nechat venku, postavte ho tak, aby nestál přímo na podlaze, ale na dřevěném špalku nebo staré podložce. Přikryjte ho plachtou, která dýchá, ne igelitem. Igeliťák zadržuje vlhkost a rez se objeví rychleji. Před uložením namažte řetěz a zkontrolujte tlak v pneumatikách. Sáně naopak přes zimu venku vydrží, ale i tak je lepší je dát na vyvýšené místo, aby neležely ve sněhu nebo v louži.
Podstatné je i to, co děláte uvnitř. Nábytek a rohožky postavené těsně ke dveřím brání proudění vzduchu podél zdi. Nechte u rámu alespoň několik centimetrů volného prostoru. Pokud máte na dveřích těsnící gumu, zkontrolujte, zda není ztvrdlá a zda nepropouští vodu. Poškozené těsnění vyměňte, ale zároveň nechte ve spodní části dveří malou větrací štěrbinu, pokud to konstrukce dovolí.
Dalším krokem je rozdělení dlouhých funkcí podle odpovědnosti. Funkce, která načte data, upraví je, uloží a ještě vypíše výsledek, dělá příliš mnoho. Rozděl ji na menší celky, každý s jedním úkolem. Po každém rozdělení spusť testy nebo alespoň ručně projdi hlavní scénáře. Pokud testy nemáš, je to signál, že prvním refaktoringem by mělo být přidání alespoň základních testů. Bez nich se každá další změna stává riskantní a brzy se přestaneš odvažovat cokoli upravit.
Nejčastější chyba je nechat okno nebo dveře pootevřené celý den v domnění, že se vlhkost vyvětrá. Tím se ale stěny i rám neustále ochlazují a kondenzace se naopak zhoršuje. Účinnější je větrat nárazově: otevřít na několik minut dokořán, vyměnit vzduch a zase zavřít. V zimě to dělejte třikrát až čtyřikrát denně, vždy po vaření, sprchování a sušení prádla. Sušit prádlo přímo v chodbě u dveří je pro vznik plísně téměř ideální podmínka.
Prvním krokem je zbavit se globálních proměnných a dlouhých parametrů. Funkce, která přijímá šest argumentů, se špatně testuje i čte. Zabal je do jednoho objektu nebo je nahraď lokálními proměnnými uvnitř uzávěru. Pozor na tichý problém: pokud funkci voláš na více místech, změna signatury rozbije kód, o kterém ani nevíš. Než začneš, projdi všechny výskyty názvu funkce v projektu a ověř, že žádné volání neposílá argumenty v jiném pořadí.
Malý obývák nezvětšíte jen tím, že ho vymalujete na bílo. Rozhoduje především to, jak barvy rozložíte mezi stěny, podlahu a nábytek. Světlé odstíny na velkých plochách stropu a stěn opticky posunou hranice místnosti dál. Tmavé plochy naopak prostor stahují a vytvářejí hloubku. Trik je v poměru: světlé barvy patří na plochy, které chcete potlačit, tmavé nebo syté na ty, které mají upoutat pozornost a vytvořit iluzi vzdálenosti.
Refaktoring starého JavaScriptu není závod, ale řemeslo. Nejde o to mít nejkrásnější kód, ale o to, aby se v něm dalo pracovat bez strachu. Když po několika týdnech otevřeš soubor a dokážeš během minuty říct, co která funkce dělá, vyhrál jsi. Až se příště objeví chyba, nebudeš trávit hodiny hledáním v chaotickém bloku, ale opravíš ji na jednom jasném místě.
Přejmenuj dřív, než začneš přesouvat Než začneš kód přesouvat do jiných souborů, přejmenuj proměnné a funkce tak, aby říkaly, co dělají. Zpracuj() nic neznamená, vypocitejCenuObjednavky() ano. Přejmenování je bezpečná operace, protože nemění logiku, a přesto výrazně zlepší čitelnost. Použij nástroj, který umí přejmenovat symbol ve všech souborech, ne ruční hledání a nahrazování. Ruční přepis totiž často přepíše i řetězec v textu nebo klíč v objektu, kde to způsobí chybu za běhu.
Starý JavaScript po pěti letech provozu vypadá jako skládka. Funkce mají tři sta řádků, proměnné se jmenují a, b, data2, a každý, kdo se do souboru podívá, raději zavře editor. Refaktoring ale není přepis od nuly. Je to řízené zmenšování chaosu, při kterém musí kód po každém kroku dál fungovat. Začni tím, že si před sebou otevřeš jen jednu funkci, ne celý modul. Snažit se opravit všechno najednou je nejčastější důvod, proč refaktoring skončí v koši.
Typická chyba je snaha o dokonalost. Výsledkem bývá přepsaný kód, kterému nikdo nerozumí, protože autor zmizel i s kontextem. Drž se pravidla, že každá úprava musí být malá a vratná. Místo jednoho velkého commitu udělej deset malých, každý s jasným popisem. Když se něco rozbije, víš přesně, kde hledat. A pokud si nejsi jistý, zda je změna bezpečná, raději ji odlož a nejdřív napiš test, který ji ověří.
Add new comment