Když rekonstruujete, myslete na to, co oceníte každé ráno
Force-push a pravidla pro týmovou spolupráci Pokud už k rebase na sdílené větvi dojde, je nutné mít domluvený postup. Ideální je zakázat force-push na ochranné větve typu main nebo develop. Místo toho si vytvořte dočasnou větev a rebase na ni aplikujte. Pokud ale tým malý a nikdo jiný na stejné větvi nepracuje, je force-push s --force-with-lease bezpečnější než klasický --force. Tento přepínač zkontroluje, že nikdo jiný větvi nepřidal nové commity, takže nepřepíšete cizí práci.
Čtvrtý návyk se týká práce s chybami. Často se stává, že vývojáři ignorují návratové hodnoty a spoléhají na to, že všechno proběhne hladce. Když ale API vrátí null nebo undefined, kód spadne až v místě, kde se s daty pracuje, což je daleko od skutečné příčiny. Zvykněte si proto hned na začátku funkce kontrolovat, jestli vstupní data splňují očekávání. Používejte if (!value) throw new Error('...') nebo vratte včas. Tím se chyba objeví blízko zdroje a ladění zabere minuty, ne hodiny.
Základním nástrojem je rebase. Místo příkazu git merge použijte git rebase na cílovou větev. Tím přenesete své commity na špičku cílové větve, čímž vznikne lineární historie bez umělých rozdvojení. Typická chyba začátečníků je rebase provádět na veřejné větvi, kterou sdílí více lidí. To vede ke konfliktům a nutnosti force-push, což naruší práci ostatním. Rebase proto provádějte pouze na větvích, které jsou čistě vaše a nikdo jiný z nich netáhne.
Druhý návyk: Pojmenovávejte proměnné podle toho, co skutečně obsahují Název data nebo result je téměř k ničemu. Když za tři týdny otevřete soubor, nebudete tušit, jestli jde o pole objektů, string, nebo číslo. Používejte názvy jako userList, normalizedPhone nebo isUserLoggedIn. Pokud narazíte na situaci, kdy název nevystihuje obsah, je to signál, že proměnná dělá příliš mnoho věcí. Stejně postupujte u funkcí — sloveso na začátku napoví, co funkce provádí: fetchUsers, validateEmail.
Tyto návyky nejsou žádná velká věda, ale jejich důsledné používání výrazně zkrátí čas strávený hledáním chyb. Začněte jedním z nich a postupně přidávejte další. Po měsíci si všimnete, že se k ladění vracíte jen výjimečně, a když už, tak s jasnou představou, kde problém hledat.
Posledním návykem je pravidelné používání striktního porovnávání === a !== místo volného ==. JavaScript sám převádí typy, takže 0 == false vrátí true, což je častý zdroj záhadných chyb. Striktní porovnání vás donutí přemýšlet o typech a předejdete situacím, kdy číslo 0 je považováno za prázdný řetězec. Pokud potřebujete porovnat hodnotu s více možnostmi, raději si ověřte typ pomocí typeof nebo Array.isArray.
Důležité je také myslet na světlo. Barvy, které v obýváku vypadají teplě a příjemně, mohou v ložnici s menším oknem působit chladně a depresivně. Před tím, než začnete malovat, si na vzorku ověřte, jak odstín vypadá při umělém osvětlení, které v ložnici převažuje. Pokud je ložnice orientovaná na sever, sáhněte po variantě s vyšším podílem bílé nebo béžové, aby prostor nepůsobil stísněně. Typickou pastí je také použití stejné barvy na všechny stěny, což v ložnici potlačí hloubku a místnost se zdá menší.
Většina týmů žije v představě, že merge commit je běžnou součástí práce s gitem. Opak je pravdou. Pokud chcete mít v historii jasno, kdo co změnil a proč, merge commity vám v tom aktivně brání. Vytvářejí totiž falešné větvení a log se stává nepřehlednou změť čar, ve které se špatně hledá konkrétní úprava. Cílem není zakázat větve, ale změnit způsob, jakým je začleňujete zpět.
Po rekonstrukci jádra často zjistíte, že podlaha v koupelně není úplně rovná a voda si nachází cestu, kudy nechcete. Než začnete pokládat obklady, věnujte pozornost spádování. Bez správného sklonu k odtoku vám ani sebelepší dlažba nezajistí suchou podlahu. Voda se bude držet v koutech, u vany nebo pod pračkou, a to je první krok k plísním a poškozeným spárám.
Prvním návykem je psát funkce, které dělají jen jednu věc. Když funkce kombinuje validaci vstupu, transformaci dat a zápis do konzole, každá změna v jednom místě riskuje rozbití ostatních částí. Místo toho rozdělte logiku na malé, pojmenované kroky. Například funkce formatPrice by měla pouze formátovat číslo, ne ověřovat, jestli přišlo z inputu. Tím se vyhnete situaci, kdy při ladění musíte procházet deset řádků, abyste zjistili, kde se hodnota změnila.
Nejdřív si prohlédněte obývák a určete, které barvy dominují a jaké mají podíly. Namísto toho, abyste vybrali tři hlavní odstíny a natřeli stejnou stěnu v ložnici, zkuste přenést jen jednu dominantní barvu, a to nejlépe ve světlejší nebo tmavší variantě. Máte-li v obýváku terakotové stěny, v ložnici je vhodnější použít terakotu jen na jedno čelo, nebo na textil. Tím zachováte vizuální soulad, ale vytvoříte odlišnou atmosféru.