Kolik času vlastně sežere code review a zapracování připomínek?
U prvního jazyka je důležitější dostupnost kvalitních materiálů a velká komunita než elegance syntaxe. Jazyk, ke kterému najdete české učebnice, návody a aktivní fórum, vás podrží ve chvíli, kdy narazíte na chybu, které nerozumíte. Zjistěte si předem, zda pro daný jazyk existuje oficiální dokumentace v angličtině na slušné úrovni, protože ta je zdrojem pravdy. Podívejte se také, jak vypadá ekosystém knihoven pro oblast, která vás zajímá. Jazyk bez knihoven znamená, že budete psát i to, co už dávno někdo vyřešil za vás.
Počítejte i s čekáním. Mezi odesláním kódu k review a první reakcí bývá prodleva, která se do času ne vždy započítává. Pokud recenzent není k dispozici hned, hodiny ubíhají. Stejně tak druhé kolo review po zapracování připomínek nebývá zdarma – i když jde jen o potvrzení, někdo se na to musí podívat. Do odhadu proto přidejte rezervu na prodlevy, ne jen na samotnou práci.
Udržujte si u každé vrstvy rozpočet času, ne jen počet testů. Měňte požadavky a sledujte, jak dlouho trvá zpětná vazba. Když se end-to-end sada protáhne nad únosnou mez, je to signál, že část scénářů patří níž. Zároveň platí, že není nutné mít pro každou novou podmínku test ve všech vrstvách. Duplicitní pokrytí zvyšuje údržbu a zpomaluje vývoj, aniž by přidalo jistotu.
Nepodceňujte nástroje pro vývoj. Redux DevTools umožňují sledovat každou akci, skákat v čase a porovnávat strom stavu před a po. Když se aplikace chová divně, první krok je najít akci, po které se stav rozbije. Často se ukáže, že reducer mutuje původní objekt místo vytvoření nového. V produkci middleware pro logování vypněte, jinak zbytečně zpomaluje aplikaci a zaplavuje konzoli. Stejně tak kontrolujte, že žádný reducer neobsahuje náhodné hodnoty nebo volání API.
Volba licence není formalita na konci projektu, ale rozhodnutí, které ovlivní, kdo a jak může váš kód používat. Permisivní licence (MIT, BSD, Apache) dávají uživatelům maximální svobodu — mohou kód použít i v uzavřených produktech, aniž by museli zveřejnit své úpravy. Copyleftové licence (GPL, AGPL) naopak vyžadují, aby každý, kdo šíří odvozené dílo, poskytl zdrojový kód za stejných podmínek. Nejde o ideologii, ale o to, co od svého projektu skutečně chcete.
Základem je rozdělit práci na dvě samostatné položky. První je samotné review – čas, který stráví kolega čtením, komentováním a diskusí. Druhou je zapracování připomínek, tedy přepis kódu, opětovné testy a druhé kolo schválení. Tyhle dvě věci se často slévají do jedné a pak chybí. Do odhadu je pište zvlášť, protože mají jiný průběh i rizika.
Hlavní větev není pracovní plocha Druhá častá chyba je představa, že stačí commitovat a nahrávat rovnou do hlavní větve. U malého projektu to chvíli funguje, ale jakmile se přidá druhý člověk nebo experimentální úprava, začne vznikat zmatek. Zaveďte jednoduché pravidlo: každá změna, která má vlastní účel, dostane vlastní větev. Vytvořte ji z aktuálního stavu hlavní větve, pracujte v ní, commitujte po malých krocích a teprve hotovou věc sloučte zpět. Malé commity s výstižnou zprávou vám po půl roce řeknou, proč se řádek změnil. Zprávy typu „oprava" nebo „úpravy" tuto informaci nesdělují a při hledání chyby jsou k ničemu.
Odhad odvoďte od velikosti změny, ne od kalendáře Užitečné je vycházet z objemu a charakteru změny. Malá oprava v jedné funkci znamená review v řádu desítek minut a zapracování podobně. Větší refaktoring nebo nová logika napříč moduly zabere review klidně půl dne a připomínky se mohou táhnout několik dní, zvlášť když se čeká na vyjádření více lidí. Pomáhá i historie: podívejte se, jak dlouho podobné změny trvaly minule, a použijte to jako referenci místo dojmů.
Odhady času jsou jedna věc, realita druhá. Když do plánu nezahrnete code review a následné zapracování připomínek, skončíte s harmonogramem, který nikdy nesedí. Přitom právě tahle část bývá největším zdrojem skluzu. Nejde o to přidat paušální procenta, ale odhadnout ji podle konkrétních podmínek.
Na co se zapomíná nejčastěji: nastavit si jméno a e-mail, aby byly commity dohledatelné, a zkontrolovat, že v repozitáři nejsou přístupové údaje. Klíče, hesla a tokeny se do historie dostanou snadno a odstranit je zpětně je otrava. Pokud se to stane, okamžitě tyto údaje zneplatněte, ne až po úklidu historie. Dále si zvykněte před každým commitem spustit, co se spustit dá – testy, kontrolu stylu nebo alespoň build. Verzování samo o sobě kvalitu nehlídá, jen uchovává to, co mu předáte.
Typické chyby: podcenění diskuse u sporných návrhů, zapomenutí na opětovné testování po změnách a předpoklad, že připomínky budou jen kosmetické. Další častou chybou je odhadovat review a zapracování jedním číslem a pak ho krátit, když se blíží termín. Radši odhadněte dvě čísla a držte se jich. Pokud se připomínky množí, je to signál, že zadání nebylo dost jasné – to je potřeba řešit u zdroje, ne jen přidávat hodiny.