Prvním krokem je inicializace repozitáře ve složce projektu. Hned po ní vytvoř soubor, který říká, co má být ignorováno. Bez něj ti do historie nateče složka s balíčky nebo produkční build a repozitář nabobtná během několika commitů. Do ignorovaného seznamu patří i soubory s hesly, přístupovými klíči a konfigurací prostředí. Ty se do historie dostanou snadno a odstranit je zpětně je otrava, protože zůstávají ve starých commitech.
Commity piš po malých kusech a srozumitelně Nejčastější chyba začátečníků je jeden obří commit na konci dne s popisem „změny”. Takový záznam je k ničemu, když za týden hledáš, kdy se rozbila validace formuláře. Commituj po logických celcích: oprava jednoho bugu, jedna nová komponenta, úprava stylů. Zprávu piš v rozkazovacím způsobu a stručně, například „oprav validaci e-mailu”. Pokud musíš v popisu vysvětlovat souvislosti, použij delší tělo zprávy, ale první řádek nech krátký.
Poslední návyk je pravidelnost. Verzuj každý den, kdy na projektu pracuješ, i kdyby šlo o drobnost. Malé kroky se snadno vracejí, velké skoky bolí. Až budeš mít tyto návyky zautomatizované, přestaneš řešit nástroj a začneš řešit skutečnou práci.
Pokrytí přestává být užitečné ve chvíli, kdy začneš psát testy kvůli číslu, ne kvůli riziku. Typický projev: testy volají funkci, zkontrolují, že nespadla, ale netvrdí nic o výsledku. Další častý případ je ignorování větví, které nelze snadno zasáhnout, takže se místo jejich otestování obalí podmínkou nebo se z kódu odstraní, aby číslo vypadalo lépe. Pokud se v týmu mluví o pokrytí častěji než o chybách, které testy odhalily, je metrika na špatné cestě.
Verzování nezačíná instalací nástroje, ale rozhodnutím přestat pojmenovávat soubory jako web-final-v2-opravdu-posledni. Než spustíš první příkaz, ujasni si, co bude repozitář obsahovat. Pro webový projekt to znamená zdrojové soubory, konfigurace a dokumentaci. Naopak závislosti, zkompilované výstupy a lokální nastavení do repozitáře nepatří. Právě tady vzniká většina problémů, které později bolí při sloučení větví.
Automatizace se neučí čtením, ale opravováním vlastních chyb. Začni s úlohou na deset řádků, dokonči ji, spusť ji opakovaně a teprve potom přidávej další funkce. Když narazíš na problém, zkus ho zmenšit na nejmenší možný příklad a ten si vyřeš zvlášť. Tak se z každého selhání stane konkrétní znalost, která ti zůstane i u dalšího projektu.
Základní ochranou je oddělit data od příkazů. V praxi to znamená používat parametrizované dotazy nebo připravené příkazy. Hodnota se předá databázovému ovladači zvlášť a ten ji ošetří podle svého typu. Není potřeba ručně escapovat uvozovky ani spoléhat na to, že vstup „vypadá bezpečně”. Parametrizace řeší řetězce, čísla i data. Pokud jazyk nebo knihovna podporují pojmenované parametry, používej je přednostně před otazníky, protože je méně snadné splést pořadí hodnot.
Automatizace v Pythonu nezačíná instalací knihoven, ale tím, že si najdeš jednu konkrétní opakující se činnost. Může to být přejmenování stovek souborů, kopírování dat z tabulky do textu nebo stahování stejné stránky každý den. Pokud začneš obecným „chci se naučit automatizovat”, vydržíš u toho jen těžko. Vyber si úlohu, kterou děláš alespoň dvakrát týdně a která tě štve. Ta bude tvým cvičným projektem a zároveň motivací, až narazíš na první chybu.
Větve používej jako izolované pracovní plochy. Pro novou funkci si vytvoř větev z hlavní linie, pracuj v ní a po dokončení ji slouč zpět. Nikdy nevyvíjej přímo v hlavní větvi, pokud na projektu pracuje víc lidí. Před sloučením si vždy stáhni aktuální stav vzdáleného repozitáře, jinak si vyrobíš konflikty, které se řeší mnohem hůř než kdyby vznikly včas. Konflikt neznamená chybu, jen dvě změny na stejném místě.
Nejčastější začátečnická chyba je testování na ostrých datech. Skript, který maže soubory, přepisuje tabulku nebo odesílá požadavky na cizí server, si nejdřív vyzkoušej na kopii složky nebo na testovacím listu. Do kódu si přidej výpis toho, co se chystá udělat, místo rovnou akce. Místo os.remove(cesta) napiš print(cesta). Až budeš mít jistotu, že skript sahá na správná místa, teprve pak akci povol. Stejně tak pozor na automatické spouštění – naplánovaná úloha, která běží každou hodinu a posílá e-maily, se rychle vymkne kontrole. Nejdřív ji spouštěj ručně, pak ji teprve naplánuj.
Základní test vypadá tak, že zavoláte reducer s výchozím stavem a akcí a porovnáte výsledek s očekávaným objektem. Nepište testy tak, že jen zkontrolujete, že se stav změnil. Zkontrolujte konkrétní pole, jejich hodnoty a to, že ostatní části stavu zůstaly nedotčené. Častá chyba je sdílený výchozí stav mezi testy: pokud ho reducer mutuje, jeden test ovlivní druhý. Vždy vytvářejte čistou kopii stavu před každým testem, ideálně pomocí tovární funkce.
If you loved this article and you would certainly like to obtain even more info concerning https://Atavi.com/ kindly see our own web site.