Jak uspořádat verzování kódu při více knihovnách: Difference between revisions
mNo edit summary |
ONHLavonda (talk | contribs) mNo edit summary |
||
| Line 1: | Line 1: | ||
Při řešení konfliktů se zaměřte na to, co je skutečně potřeba změnit. Než začnete konflikt ručně upravovat, podívejte se na obě verze kódu a pochopte, proč ke konfliktu došlo. Často se stává, že konflikt je pouze zdánlivý — obě větve dělají stejnou věc jiným způsobem. V takovém případě je lepší konzultovat s autorem druhé změny a domluvit se na jednotném řešení. Po vyřešení konfliktů vždy spusťte testy a zkontrolujte, že vaše změny nezpůsobily regresi.<br><br>Retrospektiva je srdcem zlepšování, ale jen pokud ji berete vážně. České týmy často sklouznou k tomu, že si postěžují, ale nenavrhnou žádná konkrétní opatření. Zkuste metodu „start, stop, continue" – každý člen navrhne jednu věc, kterou začneme dělat, jednu, kterou přestaneme, a jednu, kterou budeme dělat dál. Na konci si vyberte maximálně tři akční body a přiřaďte jim vlastníka. Bez vlastníka a termínu se retrospektiva mění v tlachání. A pozor – změny z retrospektivy musí být viditelné už v dalším sprintu, jinak tým ztratí motivaci.<br><br>Nakonec se vyplatí investovat čas do automatizace testů, které ověří, že projekt funguje s novou verzí knihovny. Před uvolněním nové verze knihovny spusťte testy všech projektů, které ji používají. Tím odhalíte případné problémy dříve, než se dostanou k uživatelům. Když se přesto stane, že nová verze knihovny rozbije projekt, mějte připravený postup pro rychlé vrácení zpět – ideálně pomocí reverze commitu. S tímto přístupem bude vaše verzování přehledné a projekty bez zbytečného chaosu.<br><br>Mezi časté omyly patří i to, že „bez licence" znamená volné použití. Není tomu tak – autorský zákon chrání vaše dílo automaticky, a kdokoli by ho chtěl použít, musí žádat o svolení. Pokud chcete být opravdu otevření, musíte licenci explicitně udělit. Také se vyhněte vlastním vymyšleným licencím, které kombinují prvky různých standardů – to vede k právní nejistotě a většina vývojářů se jim vyhne. Držte se osvědčených šablon, které jsou srozumitelné a mají jasnou judikaturu.<br><br>Když už zvládáš jednoduché volání, zkus přidat parametry dotazu. Třeba pro filtr nebo stránkování. To je častý bod, kde začátečníci tápou – nevědí, jestli parametry patří do URL, nebo do těla. Pro GET je používej v URL za otazníkem, pro POST je dej do těla jako JSON. Vždy si přečti dokumentaci konkrétního API, protože formát se liší. A hlavně: nikdy neposílej citlivé údaje v URL – může se ti to vymstít v logách.<br><br>Jednotkové testy jsou základem udržovatelného kódu. Framework NUnit patří mezi nejpoužívanější nástroje pro testování v ekosystému .NET. Pokud začínáte, první kroky jsou jednoduché: vytvořte testovací projekt, přidejte balíček NUnit a napište první třídu s atributem [TestFixture]. Každá testovací metoda pak nese atribut [Test]. Důležité je, aby testy byly nezávislé, rychlé a jejich výsledek nebyl ovlivněn pořadím spuštění.<br><br>Verzování kódu při paralelním vývoji více feature větví je častým zdrojem konfliktů a ztráty času. Klíčem k efektivní práci je disciplína a jasná pravidla, která platí pro celý tým. Než začnete s jakoukoli větví, ujistěte se, že máte aktuální stav hlavní větve a že vaše lokální změny jsou založeny na stabilním bodu. Ideálně si před vytvořením nové větve stáhněte nejnovější změny z remote a vytvořte větev až z aktuálního stavu. Tím se vyhnete zbytečným konfliktům, které vznikají při mergování starých větví.<br><br>Scrum není o tom, že budete dělat víc věcí za kratší dobu. Je o tom, že budete dělat ty správné věci a budete mít zpětnou vazbu dřív. Pro české týmy je klíčové, aby si ujasnily role, definici hotového a hlavně aby se nebály říct managementu, že něco nestihnou. Začněte malým pilotním projektem, ne celou organizací. Až uvidíte první výsledky, rozšiřte působnost. Jinak skončíte s byrokratickým monstrem, které nemá s agilitou nic společného.<br><br>Začni s voláním GET na veřejné API, které nevyžaduje registraci ani klíč. Otevři si terminál a použij nástroj pro příkazovou řádku, nebo si vytvoř malý skript v jazyce, který už znáš. Tvůj první požadavek může být jen načtení dat ve formátu JSON. Odpověď si vytiskni na obrazovku. Důležité je sledovat, jakou strukturu data mají – jestli je to pole, objekt, nebo vnořený objekt. To je základ pro to, abys uměl data zpracovat dál.<br><br>Největší český problém je vztah k odhadům. Tým často vnímá odhady jako závazek vůči managementu, a proto buď nadhodnocuje, nebo se bojí říct pravdu. Odhady jsou ale pouze nástroj pro plánování, ne výkonnostní kritérium. Pokud management začne měřit rychlost týmu (velocity) a tlačit na vyšší čísla, tým začne uměle navyšovat odhady. Místo toho se zaměřte na stabilní tempo – pokud je rychlost konstantní, můžete plánovat s větší jistotou. A pokud tým dodává méně, než slíbil, řešte příčiny, ne čísla. | |||
Latest revision as of 14:34, 21 August 2026
Při řešení konfliktů se zaměřte na to, co je skutečně potřeba změnit. Než začnete konflikt ručně upravovat, podívejte se na obě verze kódu a pochopte, proč ke konfliktu došlo. Často se stává, že konflikt je pouze zdánlivý — obě větve dělají stejnou věc jiným způsobem. V takovém případě je lepší konzultovat s autorem druhé změny a domluvit se na jednotném řešení. Po vyřešení konfliktů vždy spusťte testy a zkontrolujte, že vaše změny nezpůsobily regresi.
Retrospektiva je srdcem zlepšování, ale jen pokud ji berete vážně. České týmy často sklouznou k tomu, že si postěžují, ale nenavrhnou žádná konkrétní opatření. Zkuste metodu „start, stop, continue" – každý člen navrhne jednu věc, kterou začneme dělat, jednu, kterou přestaneme, a jednu, kterou budeme dělat dál. Na konci si vyberte maximálně tři akční body a přiřaďte jim vlastníka. Bez vlastníka a termínu se retrospektiva mění v tlachání. A pozor – změny z retrospektivy musí být viditelné už v dalším sprintu, jinak tým ztratí motivaci.
Nakonec se vyplatí investovat čas do automatizace testů, které ověří, že projekt funguje s novou verzí knihovny. Před uvolněním nové verze knihovny spusťte testy všech projektů, které ji používají. Tím odhalíte případné problémy dříve, než se dostanou k uživatelům. Když se přesto stane, že nová verze knihovny rozbije projekt, mějte připravený postup pro rychlé vrácení zpět – ideálně pomocí reverze commitu. S tímto přístupem bude vaše verzování přehledné a projekty bez zbytečného chaosu.
Mezi časté omyly patří i to, že „bez licence" znamená volné použití. Není tomu tak – autorský zákon chrání vaše dílo automaticky, a kdokoli by ho chtěl použít, musí žádat o svolení. Pokud chcete být opravdu otevření, musíte licenci explicitně udělit. Také se vyhněte vlastním vymyšleným licencím, které kombinují prvky různých standardů – to vede k právní nejistotě a většina vývojářů se jim vyhne. Držte se osvědčených šablon, které jsou srozumitelné a mají jasnou judikaturu.
Když už zvládáš jednoduché volání, zkus přidat parametry dotazu. Třeba pro filtr nebo stránkování. To je častý bod, kde začátečníci tápou – nevědí, jestli parametry patří do URL, nebo do těla. Pro GET je používej v URL za otazníkem, pro POST je dej do těla jako JSON. Vždy si přečti dokumentaci konkrétního API, protože formát se liší. A hlavně: nikdy neposílej citlivé údaje v URL – může se ti to vymstít v logách.
Jednotkové testy jsou základem udržovatelného kódu. Framework NUnit patří mezi nejpoužívanější nástroje pro testování v ekosystému .NET. Pokud začínáte, první kroky jsou jednoduché: vytvořte testovací projekt, přidejte balíček NUnit a napište první třídu s atributem [TestFixture]. Každá testovací metoda pak nese atribut [Test]. Důležité je, aby testy byly nezávislé, rychlé a jejich výsledek nebyl ovlivněn pořadím spuštění.
Verzování kódu při paralelním vývoji více feature větví je častým zdrojem konfliktů a ztráty času. Klíčem k efektivní práci je disciplína a jasná pravidla, která platí pro celý tým. Než začnete s jakoukoli větví, ujistěte se, že máte aktuální stav hlavní větve a že vaše lokální změny jsou založeny na stabilním bodu. Ideálně si před vytvořením nové větve stáhněte nejnovější změny z remote a vytvořte větev až z aktuálního stavu. Tím se vyhnete zbytečným konfliktům, které vznikají při mergování starých větví.
Scrum není o tom, že budete dělat víc věcí za kratší dobu. Je o tom, že budete dělat ty správné věci a budete mít zpětnou vazbu dřív. Pro české týmy je klíčové, aby si ujasnily role, definici hotového a hlavně aby se nebály říct managementu, že něco nestihnou. Začněte malým pilotním projektem, ne celou organizací. Až uvidíte první výsledky, rozšiřte působnost. Jinak skončíte s byrokratickým monstrem, které nemá s agilitou nic společného.
Začni s voláním GET na veřejné API, které nevyžaduje registraci ani klíč. Otevři si terminál a použij nástroj pro příkazovou řádku, nebo si vytvoř malý skript v jazyce, který už znáš. Tvůj první požadavek může být jen načtení dat ve formátu JSON. Odpověď si vytiskni na obrazovku. Důležité je sledovat, jakou strukturu data mají – jestli je to pole, objekt, nebo vnořený objekt. To je základ pro to, abys uměl data zpracovat dál.
Největší český problém je vztah k odhadům. Tým často vnímá odhady jako závazek vůči managementu, a proto buď nadhodnocuje, nebo se bojí říct pravdu. Odhady jsou ale pouze nástroj pro plánování, ne výkonnostní kritérium. Pokud management začne měřit rychlost týmu (velocity) a tlačit na vyšší čísla, tým začne uměle navyšovat odhady. Místo toho se zaměřte na stabilní tempo – pokud je rychlost konstantní, můžete plánovat s větší jistotou. A pokud tým dodává méně, než slíbil, řešte příčiny, ne čísla.