Jak przeprowadzić code review

Jak przeprowadzić code review
img
AutorMateusz WojczalKwiecień, 2022

Regularny przegląd kodu w trakcie realizacji projektu oprogramowania pozwala płynnie ukończyć projekt. Nienaprawione błędy są jak kula śnieżna. Wykrycie ich na samym końcu procesu kosztuje znaczenie więcej sił, czasu i pieniędzy, poświęconych na poprawki w ostatniej chwili. Jak przeprowadzić code review, aby uniknąć nawarstwiania błędów i zachować dobrą atmosferę w zespole?

Moja sugestia to spojrzenie na code review jako dwie warstwy pracy. Pierwsza płaszczyzna to płaszczyzna czysto techniczna. Planowanie i organizacja pomagają w zmniejszeniu ilości błędów. Drugi poziom to aspekt społeczny i emocjonalny. Warto, abyś przemyślał komunikację, biorąc pod uwagę aspekty osobowości w zespole i jego sposób pracy. Przekaż swojemu zespołowi najważniejsze kwestie na temat code review i podejście do jego organizacji. No tak, ale co im przekazać i jak to zorganizować?

Code Review w ujęciu technicznym

Zanim zaczniesz code review, umieść na ścieżce procesu jego poszczególne elementy. Na stałe. Regularne przeglądy kodu to jedyny sposób na uniknięcie poprawiania projektu na ostatnią chwilę. Dopiero kiedy przestrzeń na wykonywanie code review zostanie zablokowana na mapie procesu, przejdź do planowania jego specyfiki.

W pierwszej kolejności ustal, jakie obszary będzie pokrywać przegląd kodu. Dzięki temu każdy będzie wiedział czego się spodziewać i jakie elementy są kluczowe z punktu widzenia projektów.

Znając dokładnie przestrzeń, jaką będziecie się zajmować, ustal strategię działania i testowania. Częstym błędem podczas code review jest powielanie pracy możliwej do wykonania przez automaty. Jeżeli coś może być przetestowane przez automat, to nie ma sensu angażować w to czasu i wysiłku. Jak więc zrobić code review?

Kod w ujęciu całościowym

Koncentracja tylko na nowym kodzie to błąd, który zdarza się w każdym zespole. Czasem aż kusi, aby sprawdzić tylko nowe elementy kodu i stan od ostatniego code review. Traktuj kod, jako całość. Sprawdź:

  • jaki wpływ ma nowy kod na jego starą część,
  • czy logika kodu nie została zaburzona przez nowo napisane fragmenty,
  • czy nie pozostały żadne fragmenty odnoszące się do usuniętego kodu jak na przykład stare zapytania.

Sprawdzenie nowego kodu, to nie tylko określenie poprawności jego napisania. Zanim rozpoczniesz pierwsze code review ustal, jaką funkcję pełni nowy kod w całym systemie i czy nie zaburza jego struktury. Mówiąc struktura, mam na myśli zarówno poprawność logiczną, jak i wygląd kodu.

Po co Ci regularne code review?

Zasada jest prosta: niesprawdzony kod nie przechodzi dalej, a to blokuje realizację kolejnych tasków. Regularnie robione code review to płynność pracy całego zespołu.

Gdy przeglądy robione są zbyt rzadko, powstają kolejne problemy. Ograniczony czas na przejrzenie kodu nie pozwala na napisanie dobrych komentarzy, a bez nich przyszłe przeglądy, poprawki i zmiany stają się coraz trudniejsze.

Oczywiście możesz podzielić code review na mniejsze etapy, co również się sprawdza, jednak w tym przypadku regularność jest kluczem do sukcesu.

Code review w ujęciu społecznym

Przegląd kodu to nie tylko sprawdzanie technicznych aspektów projektu. To praca z zespołem składającym się z ludzi. Nikt nie lubi, kiedy na forum pokazywane są błędy, które popełnił przy pisaniu kodu.

Dlatego warto, abyś ustalił z zespołem swego rodzaju kulturę pracy przy CR. Potrzebna Ci jest też żelazna konsekwencja w dotrzymywaniu ustaleń. Chłodna głowa zawsze będzie na miejscu. Nie pozwól, aby emocje w zespole wzięły górę.

Przede wszystkim zbuduj w zespole świadomość, że code review to nie personalne czepianie się osób z zespołu, code review to:

  • dbanie o jakość kodu;
  • rozwijanie umiejętności zarówno sprawdzającego, jak i sprawdzanego;
  • przestrzeń do kreowania nowych pomysłów i nieszablonowych rozwiązań problemów.

Często spotykane podczas CR są błędy stylistyczne. Jak je traktować? To proste. Różnice w stylu pisania kodu są naturalne i występują w każdym zespole. Ich omawianie to w rzeczywistości praca nad dobrymi praktykami i spójnym flow. Podchodząc do stylistyki kodu w ten sposób, zbudujesz poczucie dobrej organizacji w ramach projektu.

Pamiętaj: jedynym wrogiem podczas code review są bugi, nie ludzie z zespołu.

Nie wiesz wszystkiego, to fakt.

Zespół programistów to zestawienie ludzi o różnych doświadczeniach, wiedzy, umiejętnościach i zainteresowaniach. Często sprawdzając kod, możesz wiele nauczyć się od innych. Rozwojowe podejście do CR to prosta ścieżka do stawania się coraz lepszym.

Kiedy rzuci Ci się w oczy część kodu, którą sam napisałbyś po prostu inaczej, zastanów się, czy aby na pewno to problem. Narzucanie swoich „lepszych” rozwiązań nie zawsze jest efektywną metodą osiągania celu. Przegadaj tę kwestię z zespołem i zasugeruj inne rozwiązanie, jeśli to konieczne.

Może się zdarzyć, że część kodu nie będzie dla Ciebie do końca zrozumiała. Najgorsze co można zrobić w sytuacji znalezienia błędu lub takiego fragmentu kodu to zostawienie komentarza „źle”. Wciel się w rolę mentora, opisz problem i wytłumacz, czemu Twoje rozwiązanie lepiej sprawdzi się w tym przypadku.

Bądź jak dobry ojciec „Surowy, lecz sprawiedliwy”

Dla błędów w kodzie nie ma taryfy ulgowej, wskaż je i opisz, wytłumacz, przegadaj z zespołem. Pamiętaj, że sprawdzając kod, w rzeczywistości bierzesz za niego odpowiedzialność. Dlatego nie możesz pozwolić sobie na pozostawienie w nim niedociągnięć.

Swoją surowość skieruj w stronę błędów, a nie ludzi. Najgorszym co możesz zrobić w trakcie code review to personalne przytyki lub obrażanie osoby odpowiedzialnej za dany fragment kodu. Czasem jednak może dojść do sytuacji, w której nie będziecie się zgadzać, czy wskazany błąd jest rzeczywiście błędem. Wtedy poszukaj trzeciej osoby, która rozwiąże sporną kwestię.

Do każdego code review podchodź indywidualnie. Postaraj się zrozumieć, dlaczego dana osoba napisała kod w taki sposób. Być może to junior, dla którego sprawdzanie kodu jest jeszcze bardzo stresującym elementem pracy. Często problem może leżeć znacznie głębiej niż w Gicie, a umówienie calla i wyjaśnienie całej sprawy jest najlepszym wyjściem.

Jak zbudować dobrą atmosferę wokół CR?

Jest jedna niezastąpiona metoda budowania pozytywnych doświadczeń z Code Review. To pochwały. Jeśli widzisz kod, który Ci się podoba, pochwal jego autora. Każdy lubi być chwalony, nawet Senior, po którym oczekuje się wysokiej jakości kodu, będzie szczęśliwy, kiedy zwrócisz uwagę na dobrze zrobioną robotę.

Wróć