Consensus
Nie możesz skłonić członków zespołu do przejrzenia kodu, jeśli zespół nie zgadza się, że przeglądy kodu są cenne. Powiedziałbym, że przegląd kodu jest jedną z trzech rzeczy, których większość programistów nie robi wystarczająco dużo. Więc pierwszym krokiem jest po prostu porozmawianie o przeglądzie kodu na spotkaniu z całym zespołem (w tym menedżerami). Zapytaj ich, co o tym myślą, czy jest to wartościowe i jak często należy to robić.
Założę się, że co najmniej połowa z nich uważa, że to strata czasu. Jeśli tak, pierwszym krokiem jest edukacja. Musisz wyciągnąć recenzje, w których zamieszczono cenne komentarze, zwłaszcza jeśli ktoś złapał rzeczywisty błąd przed scaleniem (nie powinieneś sprzedawać CR jako narzędzia do wyszukiwania błędów, ale jest to miły bonus, gdy to się stanie). Jeśli Twoi współpracownicy nie mają doświadczenia, może to być trudna sprzedaż. Mimo to powinieneś delikatnie podnosić to tak często, jak to możliwe, aby w końcu przyswoili sobie ideę, że CR -> lepsza jakość -> lepszy kod -> mniej błędów -> lepsza jakość życia dla programistów.
Egzekwowanie
Gdy zespół przynajmniej przyzna się, że CR jest wartościowy, musisz stworzyć mechanizm, który będzie go egzekwował. Idealnie, twój system kontroli wersji robi to (na przykład trywialne do skonfigurowania na GitHub). Jeśli nikt nie może się scalić bez otrzymania CR, to miejmy nadzieję, że każdy ma na niej wąskie gardło i tym samym jest zmotywowany do usuwania zaległości. Kiedy tak się stanie, musisz zrobić coś, co na pierwszy rzut oka może wydawać się dla ciebie nieskończenie trudne: nie musisz nic robić. Na jednego dewelopera przypada średnia liczba PR, dlatego każdy programista musi wykonać taką liczbę CR, aby mieć równy rozkład pracy. Musisz oszacować tę liczbę i zrobić nie więcej niż tyle CR.
Wkrótce wszyscy w zespole będą narzekać, że istnieje olbrzymia liczba zaległości w PR czekających na połączenie, i musisz jasno powiedzieć, że cały zespół musi ponieść ciężar ich przeglądu. Delikatnie przypomnij im, że uzgodnili wartość i opieraj się wszelkim wezwaniom do usunięcia blokady CR przy fuzjach. Najprawdopodobniej będą robić CR niechętnie i sporadycznie. Aby pomóc w przypisaniu odpowiedzialności, stworzyłem narzędzie dla mojego zespołu, które wykonywało bardzo podstawowe przydziały PR do programistów. Każdy mógł zobaczyć, kto nie robi recenzji, i wszyscy wiedzieli, z kim rozmawiać, jeśli ich PR został zablokowany. Samo posiadanie takiej widoczności pomaga wymusić pożądane zachowanie.
Poza tym staż ma niewiele wspólnego z tym zjawiskiem. Widzę to u programistów na wszystkich poziomach umiejętności. Wielokrotnie to młodsi programiści, którzy dorastali w bardziej nowoczesnej kulturze oprogramowania, przyjmują recenzje kodu, podczas gdy starsi programiści, którzy są przyzwyczajeni do łączenia się bez recenzji, opierają się temu. Tak naprawdę jest to tylko indywidualna preferencja, która niestety jest powszechna w całej branży.
Oczekiwania
Wreszcie, musisz zapomnieć o tym, że CR służą do znajdowania usterek. Przegląd kodu powinien dotyczyć przede wszystkim rozpowszechniania wiedzy. Samo przeczytanie Twojej zmiany przez kogoś innego sprawia, że inna osoba w zespole jest świadoma zmiany i bardziej prawdopodobne, że zespół zauważy potencjalne konflikty projektowe z jednoczesnymi lub nieuchronnymi zmianami. To także dla edukacji. Młodsi deweloperzy powinni wyciągnąć tyle samo z wykonywania CR, co seniorzy, ale o innym charakterze. Powinieneś nauczyć juniorów, że jeśli nie mają krytyki na temat recenzowanego kodu, powinni zadawać pytania . Z pewnością uczą się czegoś nowego tu i tam lub widzą coś nieoczekiwanego, co zostało zrobione inaczej, niż by to zrobili. Zadanie tych pytań i uzyskanie dobrych odpowiedzi pomoże im dowiedzieć się, jakie praktyki są specyficzne dla Twojej firmy, w porównaniu z ogólnymi sprawdzonymi metodami inżynierii oprogramowania.
Jeśli ktoś niechętnie lub waha się przed przeprowadzeniem recenzji, szczególnie w odniesieniu do Twojego kodu, po prostu zaproponuj, że przeprowadzi z nim recenzję. Powiedz im, czego szukasz, i poproś o wyjaśnienie kodu. Jeśli w ich wyjaśnieniu brakuje czegoś interesującego, zadaj wiodące pytania, aby podkreślić swój punkt widzenia. Jeśli nie zrozumieją trochę do końca, poproś ich o zadanie pytania na temat recenzji, aby pokazać, że Twój kod nie dokumentował się tak samo, jak mógłby być. Następnie przejrzyj jeden z ich lub cudzych PR i zademonstruj te same zasady. Pokaż na przykładzie, że CR nie musi onieśmielać i że może być cennym doświadczeniem edukacyjnym dla każdego.