Czy powinienem nalegać, abyśmy przeprowadzili recenzje kodu przed ponownym połączeniem z bagażnikiem?


10

Żądanie ponownego wysłania z StackOverflow:

Pracuję w krótkim okresie programowania z bardzo ograniczonym czasem na rozwój. Opracowujemy narzędzie, które jest ważne dla wyniku naszej pracy, ale nie jest używane codziennie. Jestem jedyną osobą w zespole, która ma doświadczenie jako programista.

Mój problem polega na tym, że naciskałem na recenzje kodu przed ponownym połączeniem się z linią główną od ponad roku. Wszyscy się z tym zgodzili, ale wciąż tylko mój kod został sprawdzony. Wracając z długich wakacji wracam do bagażnika z komentarzami do kodu, mówiąc: „to brzydkie rozwiązanie - usuń jak najszybciej” i „szybka naprawa”. Nowością jest również to, że facet został wyznaczony do odpowiedzialności za narzędzie. (Rola, którą najpierw mi zaproponowano, ale odmówiłem z powodu niezwiązanego z pracą.) I uważa, że ​​jest to dobry sposób na pracę: Ponieważ mamy tak ograniczony czas na rozwój, powinniśmy skracać takie rogi.

Obawiam się, że inni programiści piszą brzydki kod: często łamią enkapsulację, piszą ogromne klasy, dodają klasy wewnętrzne w dziwnych miejscach, mają niewiele testów jednostkowych lub nie mają ich wcale itd. W końcu dalsze rozwijanie tego narzędzia będzie niemożliwe.

Czy powinienem nalegać, abyśmy przeprowadzili recenzje kodu przed ponownym połączeniem z bagażnikiem, czy jestem tylko suką o jakości kodu?


3
„Ponieważ mamy tak ograniczony czas na rozwój, powinniśmy skracać takie rogi”. -> „Możesz mi zapłacić teraz lub później”. Od dwóch i pół roku wkurzam się w przeglądy kodu i testy jednostkowe i zawsze otrzymuję tę samą odpowiedź. Oczywiście teraz, gdy mamy kilka tysięcy wierszy kodu, wszystkie „cięcia narożników” wracają, by nas prześladować.
MetalMikester

Sytuacja poprawi się, gdy facet stanie się bardziej doświadczony.
rwong

Odpowiedzi:


2

byłem już w podobnych sytuacjach i imho to zależy od „czy muszę zachować kod”.

Jeśli muszę zachować kod, niż chcę kodu wysokiej jakości, osobiście nie wymagam recenzji kodu dla każdego zatwierdzenia (tj. Programiści mogą sami zdecydować, czy określony kod wymaga przeglądu, czy nie), ale jeśli czytelność / konserwowalność cierpi niż może być w porządku.

Podczas czytania:

Obawiam się, że inni programiści piszą brzydki kod: często łamią enkapsulację, piszą ogromne klasy, dodają klasy wewnętrzne w dziwnych miejscach, mają niewiele testów jednostkowych lub nie mają ich wcale itd. W końcu dalsze rozwijanie tego narzędzia będzie niemożliwe.

Myślę, że twój problem jest większy niż tylko recenzje kodu. Wygląda na to, że brakuje Ci kilku wytycznych i / lub nie zostały one wdrożone. Brak / kilka testów jednostkowych może być złym pomysłem, ale zależy od konkretnego przypadku. Jednak breaking encapsulation, writing huge classes, ...naprawdę stwórz kod podatny na błędy, aby to zdecydowanie powinno zostać naprawione.


6

Myślę, że przeglądy kodu i przestrzeganie niektórych wytycznych kodowania to dobry pomysł, ale myślę, że robienie tego przy każdym zameldowaniu to strata czasu. Dobrym pomysłem jest założenie zespołu z młodymi programistami, ale doświadczeni programiści mogą myśleć sami i ostatecznie trzeba im zaufać. To powiedziawszy - możesz robić okresowe przeglądy kodu, aby odświeżyć sprawę, ale patrzenie na każdy wiersz kodu, który wchodzi do twojego VCS, naprawdę przesadza.

I małe komentarze dotyczące poprawek twojego kolegi - czasami brzydka poprawka jest właściwym rozwiązaniem . Być może ten konkretny kod nie jest wystarczająco ważny, aby zainwestować dużo czasu, może być tak, że proste rozwiązanie jest wystarczająco dobre i lepiej zainwestować czas w inne rzeczy. Uczynienie kodu „ładnym” nie jest twoim głównym celem jako programisty. Twoim głównym celem jest dostarczanie i obsesja na punkcie każdej linii kodu, po prostu cię tam nie dostaniesz.

Próbuję powiedzieć - musisz wybrać swoje bitwy. Można przegrać bitwę o jakąś nieistotną klasę użyteczności, aby wygrać wojnę dostawczą (lub ta NAPRAWDĘ WAŻNA wojna podsystemowa, jeśli o to chodzi).


3

Jeśli dany program nie jest jednorazowym prototypem, uważam, że recenzje kodu powinny być obowiązkowe przy każdym zameldowaniu.

Starsi programiści mogą mieć przywilej nieobsługiwanego zameldowania, jeśli są znani na tyle sumiennie, by poprosić o sprawdzenie w razie potrzeby.


1

Nie jestem pewien, czy przegląd kodu jest odpowiedzią, dopóki ktoś nie zacznie egzekwować lepszych standardów kodowania. Ktoś pisze kiepski kod, komentuje go / przyznaje i sprawdza w każdym razie. Co dobrego zrobi recenzja, jeśli ktoś będzie chciał odrzucić kod, ale opóźni to harmonogram?

Będziesz musiał: ustalić standardy, ściślej nadzorować głównych winowajców i wbić sobie w głowę, że dobry kod nie zawsze zajmuje więcej czasu. Muszą przestać używać osi czasu jako usprawiedliwienia odmowy zmiany złych nawyków.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.