Nie nazwałbym siebie supergwiazdą, ale stosunkowo doświadczonym. Staram się utrzymywać jakość kodu na wysokim poziomie i zawsze staram się ulepszyć mój styl kodowania, staram się, aby kod był wydajny, czytelny i spójny, a także zachęcać zespół do przestrzegania wzorców i metodologii w celu zapewnienia spójności. Rozumiem także potrzebę równowagi między jakością i szybkością.
Aby to osiągnąć, przedstawiłem zespołowi koncepcję wzajemnej oceny. Dwa kciuki do góry w github-prośbie o połączenie. Świetnie - ale moim zdaniem nie bez czkawek.
Często widzę komentarze tych samych kolegów, takie jak -
- Dobrze byłoby dodać spację później
<INSERT SOMETHING HERE>
- Niechciana dodatkowa linia między metodami
- Na końcu komentarzy w docblocks należy stosować kropkę.
Teraz z mojej perspektywy - recenzent powierzchownie patrzy na estetykę kodu - i tak naprawdę nie dokonuje przeglądu kodu. Przegląd kodu kosmetycznego przychodzi mi do głowy jako arogancka / elitarna mentalność. Brakuje mu treści, ale tak naprawdę nie można się z tym zbytnio kłócić, ponieważ recenzent jest technicznie poprawny . Wolałbym zobaczyć mniej z powyższych rodzajów recenzji, a więcej recenzji w następujący sposób:
- Możesz zmniejszyć złożoność cykliczną, ...
- Wyjdź wcześniej i unikaj if / else
- Wyodrębnij zapytanie DB do repozytorium
- Ta logika tak naprawdę tu nie pasuje
- Nie powtarzaj się - streszczenie i powtórne użycie
- Co by się stało, gdyby
X
został przekazany jako argument do metodyY
? - Gdzie jest na to test jednostkowy?
Uważam, że zawsze są to ci sami ludzie, którzy oceniają kosmetyczne typy recenzji, i ci sami ludzie, którzy moim zdaniem wydają recenzje oparte na jakości i logice.
Jakie (jeśli w ogóle) jest prawidłowe podejście do wzajemnej oceny. I czy mam rację, gdy frustrują mnie te same osoby, które w zasadzie przeglądają kod, szukając błędów ortograficznych i defektów estetycznych zamiast faktycznych defektów kodu?
Jeśli mam rację - jak zachęcić kolegów do szukania błędów w kodzie w równowadze z sugerowaniem kosmetycznych poprawek?
Jeśli się mylę - proszę, oświeć mnie. Czy istnieją jakieś praktyczne zasady dotyczące tego, co stanowi dobrą recenzję kodu? Czy przegapiłem punkt, czym są recenzje kodu?
Z mojego punktu widzenia - przegląd kodu dotyczy wspólnej odpowiedzialności za kod. Nie czułbym się dobrze, podchodząc do kodu bez adresowania / sprawdzania logiki, czytelności i funkcjonalności. Nie zawracałbym sobie również głowy blokowaniem scalania solidnego fragmentu kodu, gdybym zauważył, że ktoś pominął kropkę w bloku doc.
Kiedy sprawdzam kod, spędzam może od 15 do 45 minut na 500 loc. Nie wyobrażam sobie, by te płytkie recenzje trwały dłużej niż 10 minut, jeśli taka jest głębokość recenzji, którą wykonują. Ponadto, jaką wartość ma kciuk od płytkiego recenzenta? Z pewnością oznacza to, że wszystkie kciuki nie są równej wadze i może być konieczny 2-etapowy proces przeglądu. Jeden kciuk do głębokich recenzji i drugi kciuk do „polerowania”?