Další pastí je psát dlouhé funkce, které dělají deset věcí najednou. Funkce by měla mít jednu zodpovědnost a měla by být krátká – ideálně do dvaceti řádků. Pokud potřebujete rozdělit logiku, vytvořte pomocné funkce s výstižnými názvy. Například místo jedné funkce processOrder, která počítá cenu, ověřuje zásoby a aktualizuje uživatele, rozdělte ji na validateOrder, calculateTotal a updateInventory. Tím se kód nejen lépe čte, ale také snáze testuje a opravuje.
Dalším častým úskalím je, že se tým snaží vyřešit deset problémů najednou. Pak se každému věnuje deset minut, nic se nedotáhne a na konci nikdo neví, kdo za co zodpovídá. Vyberte si maximálně tři hlavní témata, která mají největší dopad na týmovou spolupráci, a pro každé z nich určete jednoho vlastníka. Vlastník nemusí problém vyřešit sám, ale je zodpovědný za to, že navrhne první krok a dohodne termín kontroly. Bez tohoto kroku je retrospektiva jen povídáním.
Základní rozhodnutí je mezi dvěma přístupy: sdíleným workflow, kde všichni pracují na jedné větvi, a větveným workflow, kde každá změna dostane vlastní větev. Sdílený model funguje pro jednoduché projekty a malé týmy, ale s rostoucím počtem lidí roste i riziko konfliktů. Větvený model, jakým je například Git Flow nebo GitHub Flow, dává každé funkci nebo opravě samostatný prostor. Neznamená to ale, že stačí větve vytvořit – bez pravidel se z nich stane jen další nepořádek.
Na závěr – nezapomínejte na formátování. Konzistentní odsazení, mezery a používání středníků (nebo jejich důsledné vynechávání) usnadňuje čtení. I když to zní banálně, právě nekonzistence ve stylu často vede k tomu, že se v kódu ztrácíte. Využijte nástroje jako ESLint nebo Prettier, které vás udrží v zajetých kolejích. A hlavně: pravidelně provádějte code review. Čerstvý pohled kolegy odhalí to, co vám už přijde samozřejmé. Čistý kód není výsledek jednorázového úsilí, ale dlouhodobý návyk, který vám ušetří hodiny hledání chyb.
Psát čistý kód není o psaní méně řádků, ale o tom, aby se v něm druhý programátor (nebo vy za půl roku) dokázal rychle zorientovat. Základním pravidlem je, že kód by měl být čitelný bez dlouhého přemýšlení. To znamená dát přednost explicitnímu pojmenování proměnných a funkcí před zkratkami, které šetří pár znaků, ale komplikují pochopení. Typickým příkladem je použití názvů jako data, temp nebo x tam, kde by stačilo userList nebo formattedDate. Čitelnost se vždycky vyplatí víc než kratší zápis.
Na závěr si dejte pozor na to, abyste nesklouzli k hodnocení, ale zůstali u pozorování. Místo „Ty jsi zase nesplnil deadline” řekněte „V úkolu č. 4 došlo ke dvoudennímu zpoždění, co bylo příčinou?” Tento posun od obviňování k analýze umožní otevřenou diskuzi, ze které vzejdou opatření, která tým skutečně přijme. Až příště uvidíte, že někdo začne mluvit o tom, kdo za co může, připomeňte celé skupině pravidlo: zaměřujeme se na proces, ne na osoby.
Optimální poměr není statický. Na začátku projektu s malým rozsahem vám stačí 90 % jednotkových testů. Jakmile codebase roste a přibývají integrační body, poměr se postupně mění. Sledujte, kde vznikají chyby, které se dostanou až do produkce. Pokud jsou to chyby v integraci, přidejte více integračních testů. Pokud jsou to logické chyby v jednotlivých metodách, posilte jednotkové. Testy jsou nástroj pro řízení rizik, ne cíl sám o sobě. Pravidelně revidujte, které testy skutečně zachytily chybu a které jen zabírají místo – ty nefunkční nebo redundantní bez váhání odstraňte.
Jak správně počítat s rezervou, aniž byste skončili v přehnaném optimismu Častou chybou je rezervu buď vynechat úplně, nebo ji naopak nastavit příliš velkou. Optimální je použít pravidlo 20–30 % pro běžné úkoly a 50 % pro ty, které jsou nové nebo málo specifikované. Rezervu ale nedávejte na konec úkolu jako „polštář” – rozložte ji rovnoměrně mezi jednotlivé fáze. Pokud narazíte na problém během implementace, máte prostor ho vyřešit bez toho, abyste museli přesouvat termíny.
Ošemetné vedlejší efekty a skryté mutace Častým zdrojem chyb je neúmyslná změna dat. Pokud funkce přijímá objekt, ale mění jeho vlastnosti, vzniká vedlejší efekt, který může ovlivnit jinou část programu. Tomu se vyhnete tím, že budete používat neměnitelné struktury – místo mutace pole vytvořte nové pomocí spread operátoru nebo metod jako map a filter. Zvlášť u stavů aplikace (např. Redux) je neměnnost klíčová. Také si dejte pozor na to, aby funkce nevracely různé typy podle okolností; konzistentní vstup a výstup je základem čitelného rozhraní.
If you are you looking for more information about Michaldabrowski73.Werite.Net look into our own website.
