Code review
Také známo jako Code review, Revize kódu, Pull request review
Stručně
Druhý pár očí nad změnou, než se dostane do produkce — nachytá chyby, designové problémy i nepříjemná překvapení včas.
Code review znamená přečíst si cizí změnu — pull request nebo merge request — a buď ji schválit, okomentovat, nebo požádat o úpravy, než se sloučí do hlavní větve. Nejde o hierarchii ani o hlídání: je to nejlevnější okamžik na zachycení chyby, dokud žije jen na jedné větvi.
Co dobrý review zachytí
Nejdřív správnost: zase cena v desetinném čísle, chybějící kontrola nul, dotaz v cyklu nad seznamem objednávek, datum naformátované podle špatného jazyka. Review je výborné na to, co testy nepokryjí — obchodní pravidla, zapomenutý okrajový případ prázdného košíku, chybu, která se spolkne, místo aby se ukázala uživateli.
Pak design: patří změna sem, existuje na to už pomocná funkce, pochopí to další člověk, zjednoduší tahle změna tu příští, nebo ji ztíží? Review, které kontroluje jen syntaxi, je drahé psaní. Review je zároveň tichý způsob, jak se šíří znalosti — pět lidí, kteří checkout kód nikdy neviděli, si ho tady přečte poprvé.
Velikost, rychlost a kultura kolem
Změna pod 400 řádků dostane skutečné a poctivé review. Změna nad 1000 řádků dostane „vypadá to dobře“ a razítko. Právě tenhle rozdíl tlačí pull requesty k tomu být malé a zaměřené — a vede k tomu, že víkendový refaktor o 3 000 řádcích tým odmítne rozdělit, nebo aspoň vysvětlit.
Kultura je důležitější než nástroje. Pište kódu, ne člověku. Ptejte se místo vynášení rozsudků. Rozlišujte „tohle je chyba“ od „udělal bych to jinak“ a řekněte, co je blokující a co jen nápad. A recenzujte rychle: změna, která tři dny leží na cizím stole, je pro kontext přepnutí, které zaplatíte sami.
Kdy se review nevyplatí
Ne všechno potřebuje lidské oko. Generované lock soubory, aktualizace závislostí, které projdou testy, formátování a čistě textové změny v CMS nechte automatizaci. Jednočlenný tým nemá co recenzovat a nemá to předstírat — investujte do testů a krátkého checklistu při nasazení.
Zautomatizujte, v čem je stroj lepší: lint, typy, testy, bezpečnostní skeny. Čas na review je nejdražší pozornost v procesu a utrácet ho za čárky je jím plýtvat.
Zdroje
Související pojmy
Refaktoring
Změna uspořádání kódu, která nemění jeho chování — stejná funkčnost, ale struktura, která přežije další úpravu.
Technický dluh
Zkratky v kódu, které dnes fungují a od zítřka si účtují úrok — pomalejší změny, víc chyb, dražší provoz.
Akceptační kritéria
Testovatelné věty, které říkají, kdy je funkce hotová — rozdíl mezi spokojeným klientem a nekonečnou hádkou.