V současnosti se softwarové společnosti snaží zvýšit kvalitu svých produktů. Pro tento účel používají různé standardy jako třeba CMMI (Capability Maturity Model Integration). V jeho rámci je jedním z doporučených postupů verifikace produktu a jako jeden z nástrojů se používá revize kódu.
Výsledky získané ze studií prováděných na skutečných vývojových projektech ukazují, že revize kódu může snížit náklady na opravy chyby na polovinu a že pomůže najít i více případných chyb. Úspory na projektu s deseti vývojáři dosahují hodnoty 150 tisíc dolarů. Přes tyto nesporně zajímavé výsledky není revize kódu příliš oblíbeným nástrojem. Viníkem může být nedostatek spolupráce při samotném vývoji.
V procesu sběru požadavků a návrhu je běžné, že se svolávají schůzky, na nichž manažeři, zákazníci, architekti a vývojáři spolupracují na definici budoucího výsledku. Důvodem takových meetingů je to, že náprava omylů v této fázi je velmi nákladná. Ve fázi vývoje ale lze pozorovat jiné chování. Vývojáři pracují samostatně na přidělených úlohách a spolupráce je omezena na sdílená rozhraní. Revize kódu proto opětovně zavádí prvek vzájemné spolupráce. (Je vhodné si připomenout, že skoro každá kniha obsahuje poděkováni profesionálním editorům za pomoc při odstraňováni chyb. Proč tedy nepoužít tento přístup i v programování?)
V současnosti by pravidelné revize kódu měly být logickou komponentou vývojového procesu. Revize kódu přináší následující přímé a nepřímé výhody (viz. následující tabulka).
Revize kódu
Přímé výhody | Nepřímé výhody |
Vyšší kvalita kódu | Zkrácení cyklu vývoj/test |
Méně defektů | Redukce dopadů na technickou podporu |
Lepší komunikace o obsahu kódu | Vyšší spokojenost zákazníků |
Vzdělávání začínajících programátorů | Lépe udržovatelný kód |
Bohužel mezi samotnými programátory často existuje velký odpor vůči této aktivitě. Příčinami mohou být spory při plánování schůzek a někdy i ego jednotlivých programátorů. Programátoři mají tendenci považovat programování za umění, kde se vytváří a objevuje řešení nějakého problému – na rozdíl od inženýrského přístupu, kde se aplikují známá řešení. Programátoři často mají pocit, že čas strávený revizí jim nepřinese odpovídající přínosy ve smyslu zlepšení kvality...
Toto je ukázka z hlavního článku z nedávno vyšlého, 3. čísla časopisu Computerworld.
Více se o tomto vydání dozvíte zde (obsah čísla).