Wiele świetnych odpowiedzi tutaj. Niektóre rzeczy, które chciałbym dodać:
Gdy musisz wyjaśnić kod komuś innemu, często w trakcie wyjaśniania deweloper może nagle zdać sobie sprawę, że ma błąd. Widziałem to raz po raz, że deweloper zatrzymuje się martwy w swoich śladach i mówi „och, czekaj, to źle”, zanim recenzent zrozumie to wystarczająco dobrze, aby zobaczyć błąd.
Znajomość twojego kodu zostanie sprawdzona przez kogoś innego, daje ci większą motywację do korzystania ze standardów kodowania (ułatwiając konserwację) lub korzystania z mniej „kowbojskich” metod, których nikt poza tobą (a czasem nawet tobą) nigdy nie zrozumie. Nie chcesz się wstydzić, kiedy pokazujesz swój kod komuś innemu, więc lepiej go wykonasz. Z powodu czynnika zakłopotania pozostawia mniej kodu komentowanego: „Nie wiem, dlaczego to działa, ale nie zadzieraj z tym”. w bazie kodu.
Programiści, którzy potrzebują szerszego nadzoru lub szkolenia, są łatwo identyfikowani. Tak samo są niekompetentni. Im szybciej znajdziesz i rozwiążesz problemy z wydajnością, tym lepiej dla całego zespołu i tym wyższa będzie jakość aplikacji. Dobrze jest znaleźć te informacje, zanim weźmiesz nowego faceta, który potrzebuje szkolenia, i przydzieli go do najtrudniejszej, najbardziej krytycznej części twojej aplikacji.
Czasami jest to tylko kwestia skorygowania nieporozumienia, które pozwoli zaoszczędzić popełnienia tego samego błędu w wielu innych miejscach. Na przykład ostatnio przeglądaliśmy niektóre SQL pod kątem złożonych raportów i stwierdziliśmy, że kilku naszych nowych deweloperów miało to samo nieporozumienie co do tego, gdzie znaleźć konkretną informację w bazie danych (wprawdzie miejsce, które wybrali, wydawało się logiczne, co jest kwestią projektu bazy danych też trzeba to naprawić), co miałoby kluczowe znaczenie dla poprawnego napisania wszystkich raportów. Po znalezieniu problemu i naprawieniu go w pierwszych raportach, które napisali, udało się uniknąć tego samego błędu w pozostałych raportach. I coś, co starsi (z czasem pracujący tutaj nie starzejący się) deweloperzy byli tak przyzwyczajeni, że nie sądzili, że trzeba to wyjaśnić.
Juniorzy mogą uczyć się na bardziej zaawansowanym kodzie napisanym przez seniorów (którzy na przykład lepiej rozumieją wychwytywanie błędów i przypadki brzegowe), a seniorzy mogą uczyć się na podstawie nowych technik stosowanych przez juniorów, na które jeszcze nie byli narażeni.
Czasami ludzie pracujący nad różnymi, ale powiązanymi częściami aplikacji, zdają sobie sprawę, że idą w dwóch różnych i wzajemnie się wykluczających kierunkach. Ups, teraz łatwiej to naprawić.
Nie jest tak łatwo wkraść się w wartości zakodowane na stałe, które z czasem będą się zmieniać, aby wszystko zaczęło działać. Zapobiega to wielu przyszłym błędom, takim jak rzeczy, które zmieniają się na początku każdego roku obrotowego.
Czasami utknąłem, jak coś zrobić i nauczyłem się nowej techniki, której właśnie chciałem od kodu recenzującego czyjeś rzeczy.
Jeśli znasz sposób, w jaki myślą inni członkowie zespołu (który przegląd kodu pomoże ci to zrozumieć), łatwiej będzie później rozwiązać problemy, ponieważ zaczniesz od zrozumienia, w jaki sposób Joe podszedłby do tego rodzaju podejścia problem.