Kdy je NoSQL skutečně lepší volbou než SQL?
Většinu práce dělejte ve vlastní větvi, ne přímo v hlavní. Hlavní větev by měla vždy obsahovat stabilní, nasaditelnou verzi webu. Pro novou funkci nebo opravu si vytvořte větev s popisným názvem, pracujte v ní a po dokončení ji slučte zpět. Tím zajistíte, že hlavní větev nezahltíte rozpracovaným kódem a kolegové (nebo vy sami) budou mít vždy jistotu, že hlavní větev je použitelná. Typická chyba je dlouhodobě pracovat v hlavní větvi a slučovat až na konci – to vede ke konfliktům a zmatkům.
Na co si dát pozor při přechodu z SQL na NoSQL Největší chybou je přenést relační myšlení do NoSQL. Pokud začnete modelovat dokumenty jako tabulky s cizími klíči a budete je spojovat „ručně" při každém čtení, přijdete o hlavní výhodu – rychlost. V NoSQL se data obvykle denormalizují, tedy ukládají tak, aby je aplikace mohla přečíst jediným dotazem. To znamená, že si dopředu promyslíte, jaká data budete potřebovat společně, a ta uložíte do jednoho dokumentu. Často se vyplatí duplikovat informace (např. adresu zákazníka u každé objednávky), a to i za cenu náročnější aktualizace. Druhou typickou chybou je spoléhat na transakce. Vela NoSQL databází podporuje transakce jen na úrovni jednoho dokumentu, což stačí pro mnohé aplikace, ale ne pro všechny. Pokud vaše aplikace vyžaduje atomické operace napříč více záznamy (např. převod peněz z účtu na účet), NoSQL vás může nepříjemně překvapit.
Klíčová je také čitelnost a vyhledávání. Strukturujte dokumentaci podle zdrojů, ne podle metod. Pro každý zdroj přidejte krátký úvod, kdy se používá, a pak teprve seznam endpointů. Uvnitř používejte nadpisy a zvýrazňujte povinné parametry. Dbejte na to, aby dokumentace byla vždy po ruce – ideálně v repozitáři u kódu, aby ji bylo možné snadno aktualizovat při každé změně. Pokud použijete generátory z OpenAPI, můžete z popisu rovnou generovat klientské SDK, což frontendu výrazně usnadní práci.
Nastavte si jednoduchý model větvení dřív, než začnete psát kód Nejčastější chybou je, že každý používá jiný styl pojmenování větví a jiný postup slučování. Někdo dělá merge, jiný rebase, někdo pushuje přímo do hlavní větve. Přitom stačí zvolit jeden jednoduchý model a dodržovat ho. Ideální je začít s hlavní větví, která vždy obsahuje stabilní verzi, a pro každou novou funkci nebo opravu vytvořit samostatnou větev. Název větve by měl být stručný a výstižný, nejlépe s číslem úkolu, aby bylo jasné, k čemu se větev vztahuje.
Když tým přejde na Git, většinou začne s jednoduchým tokem: každý pracuje na vlastní větvi, poté se změny sloučí do hlavní větve. Tento přístup funguje u malých projektů, ale s rostoucím týmem narazíte na konflikty, ztracené změny a nepřehlednou historii. Největší problém nebývá samotný nástroj, ale pravidla, která si tým nestanoví předem. Bez jasných pravidel se i zkušení vývojáři dostanou do situace, kdy nevědí, kam commitnout změnu nebo jak správně provést review.
Na závěr – testujte na skutečných zařízeních, ne jen v devtools. Změna velikosti okna není totéž jako dotykové ovládání. S Gridem a Flexboxem ušetříte stovky řádků kódu, ale jen pokud je používáte pro to, k čemu se hodí. Vyhraďte si deset minut na začátku projektu na rozvržení struktury – které části jsou jednorozměrné a které dvojrozměrné. Tato úvaha vám ušetří hodiny ladění a výsledný layout bude stabilní i na zařízeních, která ještě neznáte.
Živý příklad a schéma jsou důležitější než dlouhý popis Místo rozsáhlých textů o tom, co endpoint dělá, raději ukažte konkrétní request a response ve formátu JSON. Frontendový vývojář si z příkladu okamžitě přečte strukturu dat, včetně typů polí. Pro opakující se objekty (např. uživatel, objednávka) vytvořte sdílená schémata a odkazujte na ně. Tím se vyhnete duplicitnímu popisu a zajistíte konzistenci, když se model změní. Pomocí nástrojů pro kontraktní testování můžete navíc ověřit, že dokumentace odpovídá skutečné implementaci – to je nejspolehlivější ochrana proti zastarávání.
Důležité je také rozhodnout, jak často slučovat změny do hlavní větve. Doporučuji slučovat alespoň jednou denně, ideálně po každé dokončené části práce. Čím déle větev žije, tím větší je riziko konfliktů. Než začnete slučovat, vždy si aktualizujte svou větev z hlavní větve. To znamená, že si stáhnete změny, které mezitím přibyly, a vyřešíte případné konflikty ještě před samotným sloučením. Tím se vyhnete velkým a nepřehledným merge konfliktům.
Poslední věc, na kterou se často zapomíná, je pravidelná údržba větví. Staré větve, které už nejsou potřeba, byste měli smazat. Udržujte si také přehled o tom, kdo na čem pracuje, abyste se vyhnuli duplicitní práci. Pokud zjistíte, že dva lidé dělají podobnou změnu, domluvte se, kdo to dokončí. A nezapomeňte, že Git je jen nástroj – úspěch závisí na tom, jak se tým domluví a jaká pravidla si nastaví. Bez nich bude i ten nejlepší workflow jen zdrojem frustrace.