Přeskočit na hlavní obsah

Co je kvalitní kód a proč potřebujete code review?


Změnili jste vývojáře na svém projektu a ten říká, že existující kód aplikace je nepoužitelný? Nový tým věnuje hodně času jednoduchým úkolům? Jakmile se vypořádají s jedním problémem, rozpadne se něco dalšího? Nejpravděpodobnějším problémem je kvalita kódu.

Co je kvalitní kód?

Neexistuje přesné vymezení tohoto pojmu. Pochopení toho, jak by měl vypadat kvalitní zdrojový kód, je zpravidla založeno na dlouholetých zkušenostech specialisty. Někteří programátoři dodržují abstraktní princip KISS, který znamená "Keep It Simple, Stupid!" („Zachovej to jednoduché, hlupáku!“). Z části je tato metoda návrhu spravedlivá, protože odráží hlavní pravidlo dobrého kódu - jednoduchost a jasnost. Jednoduchost však často pletou se zjednodušením, proto je kvalita zdrojového kódu v profesionálním prostředí posuzována několika dalšími vlastnostmi:
  • Vnímání. Kód není přetížen složitými konstrukcemi, proto je snadno srozumitelný i bez další dokumentace nebo připomínek;
  • Podpora. V promyšleném kódu je snadné provést změny: změnit konfigurace nebo dokonce i platformy;
  • Rozšíření. Do kvalitního kódu je jednoduché přidat nové funkce bez rizika porušení algoritmu kódu. I když jsou nějaké problémy, mohou být rychle odstraněny;
  • Předání. Dobrý kód může být předán jiným vývojářům pro podporu nebo revizi a ti nebudou mít potíže při čtení;
  • Testování. Čím vyšší je procentuální pokrytí kódu testy, tím je pravděpodobnější, že v budoucnu předejdete zbytečným chybám.
Pro usnadnění pochopení kódu v profesionálním prostředí má každý programovací jazyk svůj vlastní Code Style - návrhový standard. Code Style diktuje pravidla: kde umístit mezery nebo závorky, jak oddělit řádky nebo pojmenovat proměnné. Může se zdát, že tyto nuance nejsou tak důležité, ale jejich dodržování značně usnadňuje porozumění kódu těm, kdo ho vidí poprvé.

Málo programátorů umí psát opravdu dobrý kód. Zvlášť obtížné to je pro ty, kteří teprve zkušenosti získávají. Dokonce i kompetentní vývojáři mohou občas udělat chyby. Proto Studie, které vytvářejí vysoce kvalitní software, pravidelně provádějí kontrolu kódu.

Jak zlepšit kvalitu kódu?

Jeden z nejoblíbenějších a současně poměrně jednoduchý způsob se nazývá Code Review. Jeho význam spočívá v tom, že veškeré změny provedené programátorem se dostanou do hlavního úložiště kódů a do finální verze softwaru až poté, co budou zkontrolovány ostatními členy týmu.
Tento proces se skládá z několika etap.

V první fázi vývojář přidává nové funkce do kódu a upozorní ostatní účastníky, že potřebuje zkontrolovat tyto aktualizace.

V druhé fázi, členové týmu přezkoumají kód a připomínkují ho. Některé firmy se zaměřují pouze na zjištění chyb. Pokud ovšem chtějí zvýšit kvalitu kódu, měly by rovněž kontrolovat i chyby v architektuře, nesprávné použití nástrojů a špatný styl psaní, který může být nejasný nebo špatně vnímán.

Další etapou je práce s připomínkami. Pokud autor nesouhlasí s nějakou připomínkou, může ji odmítnout, avšak je nutné poskytnout přesvědčivé argumenty. Pokud neexistují žádné argumenty, provádí nezbytné opravy.

Po každé další aktualizaci kódu se tento proces vždy opakuje.

Výhody Code Review

Technika Code Review pomáhá v počáteční fázi najít chyby a zbavit se nepochopitelných a složitých řešení. Na kódu zpravidla nepracuje pouze jedna osoba, ale podílí se na tom celý tým. Tím často získáváme jiný pohled na věc.

Programátor, který předem ví, že jeho práce bude kontrolována kolegy, pracuje přesněji a organizovaně. Výstupem je kód, kterému rozumí více lidí, což vypovídá o jeho kvalitě. Pokud se skupina několika odborníků seznámí s kódem na vysoké úrovni, je pak daleko snazší jej předat dalšímu účastníkovi. Poté, pokud je potřeba, dokáže se každý účastník rychle prohloubit do práce a udělat ji kvalitativně.

Díky Code Review se sníží tzv. bus factor. Jedná se o pojem označující počet vývojářů, kteří podrobně znají zdrojový kód a jejichž odchod by projekt ohrozil nebo dokonce ukončil. Představte si projekt, který zaměstnává čtyři lidi. Pokud dva z nich z nějakého důvodu opustí projekt, pak je zbytek týmu schopný práci dokončit. Ovšem pokud tým opustí tři lidi, poslední účastník to sám nezvládne.

Nevýhody Code Review

Ve skutečnosti hlavní a jedinou nevýhodou tohoto procesu je čas. Vývojáři, kteří kontrolují nově napsaný kód, musí trávit čas hledáním případných chyb a v případě potřeby komentovat kód. Vývojář pak musí reportované chyby opravit. Nové části kódu se netestují hned, ale teprve po code review. Tento bod by měl být zohledněn při plánování.

Kdy používat Code Review?

Proces Code Review je poměrně jednoduchý a jeho výhody jsou znatelně větší než mínusy, ale v řadě situací se bez něj dokážete snadno obejít.

Například nemá smysl provádět Code Review při vývoji prototypu nebo MVP. Hlavním úkolem takového projektu je získání zpětné vazby od uživatelů s cílem vytvořit hypotézy pro další vývoj. Struktura těchto aplikací je co nejjednodušší a v budoucnu bude kód stále přepisován kardinálně.

Code Review není zapotřebí při práci na jednoduchých aplikacích, které se dál nevyvíjejí. Pokud tedy v budoucnu neplánujete měnit nebo upravovat svůj projekt, můžete ušetřit čas.

Pokud plánujete další vývoj aplikace, přidání nových funkcí a rozšiřování publika, proces Code Review vám pomůže to udělat rychleji, levněji a efektivněji. Kromě toho bude Code Review velmi užitečný, pokud z důvodu velikosti projektu plánujete připojit nové vývojáře nebo ho přenést do jiného týmu.

Komentáře

Populární příspěvky z tohoto blogu

10 způsobů jak se naučit programovat samostatně.

Programování je jednou z nejcennějších dovedností pro profesní růst, osobní rozvoj a vytváření něčeho úžasného. Je čas popsat deset tipů pro ty, kteří právě začínají svou cestu do programovacího světa. 1. Zjistěte, proč chcete programovat Zvolený směr ve výuce bude záviset na tom, proč se chcete naučit programovat a jak dlouho jste ochotni věnovat tomuto procesu. Pokud chcete být programátorem, je třeba začít s odborným kurzem (společnost Google sestavila seznam dovedností a kurzů pro ty, kteří chtějí být programátorem). Pokud chcete vytvářet hry a webové stránky pro zábavu ve svém volném čase, interaktivní kurzy jsou nejlepší volbou. Bloc vytvořil srovnávací tabulku kurzů v závislosti na zatížení, nákladech a důvodech k osvojení si programování. 2. Vyberte správný jazyk programování Neexistuje nejlepší programovací jazyk. Jakmile se naučíte jeden, nebude pro vás problém zvládnout další. Takže se nemusíte koncertovat na volbu pouze jednoho jazyka. Nicméně předpokládá s

7 rad pro začínající webové vývojáře

Umíte vytvářet jednoduché webové stránky nebo mobilní aplikace a chtěli byste si efektivně osvojit nové přínosné dovednosti a vyvíjet co nejkvalitnější systémy? Jsem vývojářkou iQuest týmu, s pracovní zkušeností zhruba rok, a každodenní využití těchto principů mi pomohlo posunout se dopředu za relativně krátkou dobu. Těchto 7 rad vám pomohou posunout se dál a zároveň se vyvarovat zbytečného stresu. Začněte něčím jednoduchým Začněte s něčím malým a jednoduchým, kde máte velkou šanci úkol zvládnout. Buďte trpěliví. Jakmile ovládnete základy, začněte je aplikovat na dílčí úkoly komplexnějších věcí. Zvolte vhodné prostředí pro rychlejší rozvoj Najděte společnost, která je ochotna vás rozvíjet, a s kterou budete vzájemně spokojeni. Myslím, že je hodně důležité hledat firmu, kde si lidé navzájem pomáhají. Něco nevědět není známkou slabosti, obzvlášť v této profesi Jestli něco nevíte, je dobré se nad věcí zamyslet a co nejpřesněji zformulovat a popsat svůj dotaz. Odpověď s

Průvodce pro začátečníky ke spuštění a propagaci aplikace.

Poprvé vyvíjíte mobilní aplikaci ? Určitě máte spoustu otázek: Stojí to za to? Má to smysl? Jak se o tom lidé dozvědí? Zde jsou nejobvyklejší otázky a odpovědi, které pomohou začátečníkům vyvinout úspěšnou aplikaci. Mám hodně různých nápadů. Který si mám vybrat? Nejúspěšnější podnikatelé si vybudovali vlastní podnikání tím, že uvádí do praxe mnoho svých myšlenek. Proto se neomezujte na jednu myšlenku. Vytvoření aplikace je podobné vydávání hudebního singlu. Nikdy nevíte, který single přinese úspěch. Nápady testujte v aplikaci 4 až 6 měsíců, a pokud nevidíte rostoucí uživatelskou základnu, přejděte na další nápad. Mám nápad na aplikaci. Čím mám začít? Začněte tím, že svůj nápad jasně a podrobně popište na papír. Zkuste vytvořit detailní wireframe/šablonu budoucí aplikace. Poté, co jste určili vaše požadavky, potřebujete profesionální vývojářskou společnost, která bude schopna udělat návrh, projekt a vyvíjet Vaši aplikaci. Jak zjistím, jestli má uživatel zájem o mou aplikaci? M