Czy przegląd kodu można pominąć, jeśli masz testy jednostkowe?
Ale dlaczego?
Podstawową rolą recenzowania nie jest wykrywanie błędów.
Tak, możesz zidentyfikować niektóre potencjalne błędy i wątpliwy, podatny na błędy kod, co często się zdarza, ale czasami wykrycie pewnych błędów nie oznacza, że wzajemna ocena jest niezawodnym sposobem wykluczenia obecności błędów. Daleko od tego. To nie jest właściwe narzędzie do weryfikacji poprawności funkcjonalnej wdrożenia.
Przegląd kodu wymusza jednak jego konserwację . Będę wymagał, aby kod był czysty i zrozumiały (nie tylko dla jego autora), zanim wejdzie do produkcji.
Obecność testów jednostkowych jest całkowicie ortogonalna. Możesz mieć 100% pokrycia kodu i wszystkie testy przechodzą na całkowicie niezrozumiały kod.
Przegląd kodu służy również do zapoznania innych programistów z Twoją pracą, aby wiedzieli, co jest w stanie, i mogli stamtąd odbierać, lub obsługiwać raporty o błędach podczas wakacji itp. Wiedza o tym, co zrobiłeś od razu, może im pomóc dobrze wykonują swoją pracę - utrzymuj spójność bazy kodu (trzymaj się podobnych wzorców i konwencji w całej aplikacji) lub unikaj powielania kodu.
W szerszym ujęciu rzeczy uczy się i rozwija jako programista, czytając kod innych osób.
Testy jednostkowe nie mogą zastąpić żadnego z nich. Tak, jeśli są dobrze napisane, czytają jak dokumentację i powinniśmy do tego dążyć. Ale znowu nie wyklucza się to wzajemnie z przeprowadzaniem wzajemnej oceny, wręcz przeciwnie - wszystkie zalety wzajemnej oceny są nadal aktualne, fakt, że twoi rówieśnicy mają kilka fajnych testów jednostkowych, które sprawią, że proces recenzowania będzie łatwiejszy i jeszcze bardziej korzystny zamiast zbędnych.