Code review neboli kontrola změn kódu je jedna z našich základních “good practices”. Nejedná se pouze o to, že někdo koukne na náš kód a řekne “jo, to asi bude dobrý”, ale o proces, který, když je nastaven správně, pomáhá celému týmu fungovat efektivně.
K review se kód předává ve chvíli, kdy je s ním jeho tvůrce spokojen, otestoval jej a je za něj v pořádku. Review může dělat kdokoliv z týmu, ať už na daném projektu aktivně pracuje, nebo ne. Někdy se hodí, když se na kód dívá někdo, kdo projekt zná méně, jindy je naopak nutné znát širší kontext změn. Reviewer kontroluje vše od splnění zadání, přes správnost kódu až po aktualizovanou dokumentaci a dodržování firemních good practices. Snaží se najít slabá místa a upozornit na ně. Kód musí být čitelný a veškeré na první pohled nejasné části musí být řádně okomentovány. Pokud tomu tak není, sepíše nedostatky a vrací kód k přepracování. Pokud žádné nedostatky nenašel, tadááá, sepíše, co všechno kontroloval a kód může jít do produkce.
Dovedu si představit, že si teď říkáte, že celý tento proces musí být zdlouhavý a možná z části zbytečný. Jenže není a pokud se jeho benefity neukáží hned, tak s postupem času určitě. A není jich málo.
V první řadě správně nastavený proces code review zajistí, že do se do produkčního kódu nedostanou chyby, a zákazník se vždy dívá na data tak, jak mají být.
V druhé řadě víme, že každý řádek kódu viděli a rozumí mu minimálně dva členové týmu. To se hodí obzvlášť tehdy, když autor odjede na měsíc na dovolenou. Zastupitelnost na projektech je klíčová a nikdy by se nemělo stát, že vše bude viset jen na jednom člověku.
Navíc se takto podporuje komunikace v týmu, kdy reviewer a autor kódu musí spolupracovat a být schopni si mezi sebou předat svou práci. Sebelepší kód je k ničemu, pokud mu rozumí jen jeden člověk. Pokud už mu rozumí dva, tak je vysoká pravděpodobnost, někdo třetí, čtvrtý už s tím taky nebude mít problém.
Díky této spolupráci se také rozšiřuje týmová knowledge. Reviewer se může inspirovat od autora a naopak. Nehrozí, že někdo bude třeba nevědomky obcházet firemní good practices, nebo že nebudou dodrženy standardy.
V Bizztreatu se samozřejmě review netýká jen samotného kódu (k tomuto tématu doporučuji kouknout na https://blog.scottnonnenberg.com/top-ten-pull-request-review-mistakes), ale všeho včetně vizuálů a dokumentací. Aby se u větších projektů nestalo, že reviewer zapomene něco zkontrolovat, máme k dispozici interní checklist s body, které je nutno projít. Díky tomu víme, že všechny projekty, na kterých pracujeme, mají žádanou úroveň.