Code Review to jedna z kluczowych, choć wciąż marginalizowanych, praktyk programistycznych. Nazywana też inspekcją lub przeglądem kodu, polega na jego ocenie przez recenzenta przed wypuszczeniem do systemu kontroli wersji i dalszym testowaniem. Dlaczego warto wdrożyć w firmie oceny kodu nawet mimo wiszących nad głową deadline`ów? Poniżej 4 kluczowe korzyści ze stosowania Code Review.
Usunięcie błędów i kosztów poprawek
Literówki, niespójne nazewnictwo czy błędy związane ze wskaźnikami lub alokacją pamięci to zaledwie garść pomyłek, które pojawiają się w tworzonym przez programistę kodzie. Wielu z nich nie da się wychwycić poprzez testowanie lub używanie narzędzi do statycznej analizy. Problem ten rozwiązuje Code Review. Recenzowanie fragmentu kodu przez osobę będącą niejako z boku projektu, to szansa na wykrycie ewentualnych niedociągnięć i ich wcześniejszą naprawę. Przegląd kodu na etapie pisania oprogramowania pozwala tez na zweryfikowanie zgodności projektu z dokumentacją i wymaganiami klienta oraz przedyskutowanie zasadności użycia konkretnych rozwiązań. Korzyścią Code Review jest ochrona przed kosztownymi – pod względem pieniędzy i czasu – poprawkami w przyszłości.
Poprawa czytelności kodu
Porządnie napisany kod jest wolny nie tylko od błędów rzutujących na działanie programu, ale także czytelny i zrozumiały dla odbiorcy. Inspekcja kodu, prowadzona najczęściej przez kolegę z zespołu, to najlepsza okazja na zweryfikowanie powstającego oprogramowania pod kątem jego struktury. Ważne, by była on na w pełni czytelna i zrozumiała dla innych programistów , którzy będą w przyszłości pracować nad produktem. Spójność co do nazewnictwa zmiennych, funkcji i plików oraz zgodność z przyjętymi standardami, umożliwiają szybkie odnalezienie się w kodzie napisanym przez innego programistę. Łatwiejsze – a przy okazji tańsze – utrzymanie lub rozwój oprogramowania to jedna z głównych korzyści Code Review.
Transfer wiedzy w zespole
Poprawne działanie oprogramowania i łatwiejsze wprowadzanie zmian w kodzie w przyszłości, to nie jedyne korzyści Code Review. Równie ważne są aspekty edukacyjne inspekcji, które z powodzeniem wykorzystać mogą zespoły składające się z programistów o rożnym stażu. Recenzowanie kodu przez bardziej doświadczanych programistów, to najlepsza inwestycja w rozwój juniorów i jakość projektów, które zrealizują w przyszłości. Walidacja kodu w gronie współpracowników może być też punktem wyjścia do dyskusji nad dobrymi praktykami czy sposobami rozwiązywania problemów w zespole deweloperów. Na świeżym spojrzeniu młodszych pracowników skorzystać mogą programiści z długim stażem.
Dobre praktyki Code Review
Znamy już korzyści Code Review – jak jednak w praktyce przeglądać kod, by osiągnąć zamierzone efekty?Nadmierna krytyka przez recenzenta może skutecznie popsuć relacje między członkami zespołu. Dlatego tak ważne jest odnoszenie się podczas przeglądu w sposób konstruktywny do kodu, nie zaś do samego jego twórcy. Zwłaszcza, że sposób podejścia do danego problemu jest indywidualną sprawą każdego programisty. Zamiast skreślać jego pomysły, warto skonfrontować je ze swoimi w celu znalezienia optymalnych rozwiązań.
Nie bez znaczenia dla płynności prac nad projektem, jest dzielenie kodu poddawanego Code Review na mniejsze fragmenty. Przy dużych projektach, najlepiej sprawdzają się cykliczne przeglądy cząstkowe i kończąca prace inspekcja odbiorcza.
Dobrą praktyką Code Review jest też prowadzenie inspekcji z odpowiednim wyprzedzeniem. Przegląd tuż przed wypuszczeniem nowej wersji uniemożliwia bowiem wprowadzenie niezbędnych poprawek.
Przegląd kodu to sprawdzony sposób na przeniesienie prac nad oprogramowaniem na wyższy poziom. Korzyści Code Review odczują wszystkie strony projektu – od programistów, przez klienta, po odbiorców produktu.