Pracuję w startupie robotyki w zespole zajmującym się obsługą ścieżek i po przesłaniu żądania ściągnięcia mój kod jest sprawdzany.
Mój kolega z zespołu, który pracuje w zespole od ponad roku, skomentował mój kod, sugerując, że wykonuję o wiele więcej pracy, niż uważam za konieczne. Nie, nie jestem leniwym programistą. Uwielbiam elegancki kod, który ma dobre komentarze, nazwy zmiennych, wcięcia i poprawnie obsługuje przypadki. Ma jednak na myśli inny rodzaj organizacji, z którą się nie zgadzam.
Podam przykład:
Spędziłem dzień, pisząc przypadki testowe dotyczące zmiany algorytmu znajdowania przejścia, którego dokonałem. Zasugerował, że zajmę się niejasną sprawą, która jest bardzo mało prawdopodobna - w rzeczywistości nie jestem pewien, czy to możliwe. Utworzony przeze mnie kod działa już we wszystkich naszych oryginalnych przypadkach testowych i niektórych nowych, które znalazłem. Utworzony przeze mnie kod przechodzi już ponad 300 symulacji, które są uruchamiane co noc. Jednak poradzenie sobie z tą niejasną sprawą zajęłoby mi 13 godzin, które lepiej byłoby poświęcić na poprawę wydajności robota. Żeby było jasne, poprzedni algorytm, którego używaliśmy do tej pory, również nie zajmował się tym niejasnym przypadkiem i ani razu, w 40 000 wygenerowanych raportach, nigdy nie wystąpił. Jesteśmy startupem i musimy opracować produkt.
Nigdy wcześniej nie miałem recenzji kodu i nie jestem pewien, czy jestem zbyt kłótliwy; czy powinienem być cicho i robić to, co on mówi? Postanowiłem nie spuszczać głowy i po prostu dokonać zmiany, mimo że zdecydowanie nie zgadzam się z tym, że to był dobry użytek z czasu.
Szanuję mojego współpracownika i uznaję go za inteligentnego programistę. Po prostu się z nim nie zgadzam i nie wiem, jak poradzić sobie z nieporozumieniem podczas przeglądu kodu.
Wydaje mi się, że odpowiedź, którą wybrałem, spełnia te kryteria wyjaśniania, w jaki sposób młodszy programista może poradzić sobie z nieporozumieniem podczas przeglądu kodu.