17. září 2007

Code review je jistě užitečná věc

Když jsem si přečetl dagiho příspěvek o code review vyskočil jsem jak čertík z krabičky. Než jsem došel domu, málem jsem na své rozhodnotí reagovat zapomněl, ale už jsem si zase vzpomněl.

Jsem zvyklý code review používat a považuji jej za skvělou věc. Ovšem nejprve co to je code review? Jak jej vnímám já, není to kontrola, že kód splňuje nějaký coding standard, není to náhrada testů, tj. kontrola správnosti (ve smyslu fungování) a ani to není kontrola na neexistenci známých chybových paternů. Jsem tedy plně v souladu s dagim, že code review nemá plnit úkoly, které může plnit automat (počítač) pomocí PMD, Checkstyle, FindBugs apod.

Co tedy má plnit code review? Řekl bych, s trochou nadsázky, že má plnit to co pair-programming, akorát, že prográmátoři se baví už nad hotovým kódem. Tj. ten co dělá code review, sleduje kód, jak je napsán, zda mu rozumí (podstatná věc, protože pak je pravděpodobé, že to pochopí i někdo další), zda je kód rozumně strukturován a pod. Samozřejmě se jeden učí od druhého, protože buď se koukám na kód, který mě něčím inspiruje a nebo se mi v něm něco nelíbí, požaduju změnu a inspiruji autora.

U nás v týmu provádíme code review po jednotlivých požadavcích, které programátoři plní. Každý požadavek má přidělen implementátora a reviewera. Teprve pokud je review hotové, všechny připomínky vyřešeny, pak se požadavek zavírá jako hotový.

Tento postup se nám v praxi ověřil, jako kontrolní mechanismus, jako princip vzdělávání, jako postup pro zlepšování kvality kódu. Takže závěr, code review ano, ale ne na automatizovatelné úkony.

Žádné komentáře: