Jakmile zvládnete ukládat změny, naučte se pracovat s větvemi. Větev je oddělená linka vývoje, na které můžete zkoušet nové věci, aniž byste rozbili funkční verzi. Pro malé úpravy stačí jedna hlavní větev, pro větší práci si vytvořte novou, dokončete ji a pak ji sloučte zpět. Při slučování může dojít ke konfliktu, když stejné místo upravily dvě větve. Není to katastrofa – otevřete soubor, vyberte správnou variantu a uložte výsledek.
Typy se vyplatí u hranic systému: na vstupech z formulářů, v odpovědích z API, v parametrech funkcí a v datech, která se ukládají. Naopak u jednorázové transformace pole nebo u krátké pomocné funkce můžete typ nechat odvozený a kód bude čitelnější. Typický začátečník popíše typem úplně všechno, včetně lokální proměnné, a výsledek je horší než původní JavaScript. Praktické pravidlo: pište typy tam, kde se data předávají mezi částmi aplikace, a nechte odvozování tam, kde je hodnota vidět na pár řádcích.
Co patří do historie a co ne Než uděláte první uložení stavu, vytvořte soubor, který řekne nástroji, co má ignorovat. Do něj patří složky s nainstalovanými závislostmi, dočasné soubory, lokální konfigurace s hesly a cokoliv, co se generuje automaticky při buildu. Typická chyba začátečníka je, že tam tyhle věci nedá a pak řeší konflikty v souborech, které nikdy neměl verzovat. Platí jednoduché pravidlo: do historie patří jen to, co jste napsali vy a co je potřeba ke spuštění projektu na jiném počítači.
Vyberte jednu aplikaci, ideálně malou a dostatečně důležitou, aby její selhání bolelo, ale ne tak kritickou, aby případný výpadek ohrozil firmu. Zmapujte ruční kroky: sestavení, testy, kontrola závislostí, nasazení do testovacího prostředí, schválení, nasazení do produkce. Každý ruční krok, který lze zautomatizovat, nahraďte skriptem nebo fází pipeline. Cílem není dokonalost, ale to, aby šla změna nasadit jedním příkazem a aby selhání bylo vidět dřív než v produkci. Teprve až tato jedna cesta funguje spolehlivě, rozšiřujte na další aplikace.
Druhá častá chyba je ukládat změny příliš pozdě a příliš mnoho najednou. Jeden obří zápis s popisem „úpravy" vám při hledání chyby nepomůže. Ukládejte po menších kusech, vždycky když dokončíte jednu logickou věc – opravu chyby, novou komponentu, úpravu stylů. Ke každému uložení napište krátkou zprávu, která říká, co se změnilo a proč. Budete si za měsíc děkovat, až budete potřebovat zjistit, kdy se něco pokazilo.
Verzování není jen nástroj pro odevzdávání projektů do školy. Pro webového vývojáře je to základní pracovní návyk, který rozhoduje o tom, jestli strávíte páteční odpoledne hledáním, co jste včera rozbili, nebo jestli jdete domů včas. Pokud ještě žádný systém nepoužíváte, začněte hned u prvního souboru, ne až u velkého projektu. Zvyk se tvoří na malých věcech.
Základní cyklus má tři kroky a plete se pořád dokola. git status ukáže, co se změnilo. git add soubor přesune změnu do přípravy (staging). git commit -m "popis" ji uloží jako bod v historii. Kdo vynechá git add, diví se, že commit je prázdný. Kdo naopak přidá omylem celý adresář přes git add ., dostane do historie i to, co tam nechce. Zpráva commitu nemá být „oprava" nebo „změny" — za měsíc nebudeš vědět, co se opravovalo. Piš krátce, ale konkrétně: „oprava dělení nulou v exportu".
Parametrizované dotazy bezpečně oddělí data od kódu, ale jen pro hodnoty, které patří do klauzulí WHERE, VALUES nebo SET. Jakmile aplikace potřebuje měnit název sloupce pro řazení nebo název tabulky podle vstupu od uživatele, musí přijít jiná obrana. Řešením není escapování uvozovek, ale mapování na pevný seznam povolených hodnot. Uživatel pošle klíč, aplikace ho přeloží na konkrétní název sloupce. Pokud klíč v seznamu není, dotaz se vůbec nesestaví a vrátí se chyba. Tím zmizí prostor pro vložení poddotazu nebo podmínky, která vrátí celou tabulku.
Poslední věc, kterou je potřeba zařídit brzy, je záloha historie mimo váš počítač. Lokální repozitář vás ochrání před vlastními chybami, ale ne před selháním disku. Přidejte si vzdálené úložiště a po každé dokončené práci tam změny odešlete. Tím získáte třetí vrstvu jistoty: máte aktuální stav, máte historii a máte i kopii mimo stroj. Až tohle budete dělat automaticky, přestanete řešit, co jste kde rozbili, a začnete řešit skutečnou práci.
Prvním krokem je zvolit si nástroj a nainstalovat si ho lokálně. Většina vývojářů skončí u Gitu, protože je všude a funguje i bez připojení k síti. Po instalaci si nastavte jméno a e-mail, které se budou zapisovat do historie. Pak si v kořeni projektu spusťte inicializaci repozitáře. Tím vznikne skrytá složka, do které nástroj ukládá všechny změny. Tuhle složku nikdy needitujte ručně a nikdy ji nemažte, pokud si nejste jistí, co děláte.
Add new comment