Wpis z mikrobloga

Ostatnio w pracy pożarłem się z 'senior devem' o czystość kodu.

Mamy nowo utworzony zespół składający się z ludzi z już istniejących zespołów, ale którzy nigdy bezpośrednio razem nie pracowali wcześniej. Jednym z nich jest gość, który jest kilka lat starszy ode mnie i ma jakąśtam wiedzę, ale nie przywiązuje aż tak dużej wagi do czystego kodu. Zwróciłem mu uwagę, że nie powinien przekazywać do funkcji w innej klasie całego obiektu, tylko pojedyncze elementy z niego. A zauważyłem podczas review, że teraz przekazuje do połowy klas główny obiekt domenowy. Wywiązała się dyskusja, w której twierdzi, że on jest tak przyzwyczajony, że to wcale nie jest takie złe; że takimi pierdołami się nie przejmuje i szkoda tracić czasu na takie dyskusje; że w poprzednim zespole też się użerał z jednym gościem o takie bzdety i nie chce tego w nowym. Przytoczyłem mnóstwo argumentów, argumentów z netu i książek, a on mówi, że jego to nie obchodzi i nie zmieni zdania.

W poprzednim zespole takie rzeczy czyściliśmy z chirurgiczną dokładnością i jestem przyzwyczajony do pewnych standardów, poniżej których nie chcę schodzić. To co on mówi, a zwłaszcza, że jest przyzwyczajony i nie chce się zmieniać, to objaw totalnego braku profesjonalizmu.

Czy ja przesadzam i niepotrzebnie się przejmuję? Czy iść w zaparte? Jak radzić sobie ze starszymi 'senior devami', którzy mają swoje przyzwyczajenia i nie chcą ich zmieniać? Miał ktoś podobne sytuacje?

#programowanie #pracbaza #cleancode #czystykod #java
  • 34
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@beethoven: Też mam takie podejście, jeśli ktoś mi coś daje na code review no to przechodzi przez moją ocenę jakości. Jak nie spełnia norm no to nie przepuszczam. Ale akurat u mnie nigdy nie było sytuacji że się na końcu nie dogadaliśmy.
  • Odpowiedz
@beethoven: Miej w------e a będzie Ci dane. Nawet jeśli to Ty masz racje, to serio niech sobie robi jak chce i sraj na to. W korpo czasem nie przemówisz debilom do rozsądku bo on wie lepiej i c--j.
  • Odpowiedz
@beethoven: nie przesadziłeś, ja bym normalnie uwalał pull requesty i nie pozwolił mu merge'ować zmian. W przypadku braku porozumienia decyzje podejmuje przełożony lub kierownik projektu. Generalnie nie staraj się także atakować jego, tylko konkretne zmiany z podaniem konkretnych argumentów.
  • Odpowiedz
@beethoven > Zwróciłem mu uwagę, że nie powinien przekazywać do funkcji w innej klasie całego obiektu, tylko pojedyncze elementy z niego A czy tam zamiast,, funkcji " nie powinieneś napisać metody, skoro jest ona w klasie? Bo nie wiem czy to zwykła pomyłka z twojej strony (wszak funkcja i metoda to to samo, tylko że metoda to funkcja w klasie, i imo takie nazywanie różnie dwóch takich samych rzeczy jest bez
  • Odpowiedz
@temokkor: tak, powinno być metody. Choć co ciekawe ostatnio przejrzałem polskie tłumaczenie "czystego kodu" i autor używa wszędzie słowa "funkcje".

Środowisko nie jest aż tak formalne, żeby wysyłać sobie maile nawzajem, ale ogólnie miałem podobny pomysł.

Ok, będę wołał, bo coś czuję, że będzie sporo batalii. Ponoć w poprzednim zespole był ten sam
  • Odpowiedz
@beethoven: ja tak się tylko zapytam co w tym złego? W C# przeslanie obiektu to nic złego, jedzie referencja i tyle. Wybieranie specjalnie pol to by była jakaś abstrakcja i tworzenie sporo zbędnych klas.

Co do problemu, jak dobrze rozumiem to sam miał problem z kimś kto nie chciał trzymać się jakis standardów, więc może by skorzystał z faktu że teraz jest w zespole który chce się trzymać? I tak,
  • Odpowiedz
Przytoczyłem mnóstwo argumentów, argumentów z netu i książek


@beethoven: jeżeli nie potrafisz sam znaleźć argumentów tzn. że nie masz racji ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Przytoczyłem mnóstwo argumentów, argumentów z netu i książek, a on mówi, że jego to nie obchodzi i nie zmieni zdania.


@beethoven: a możesz je przytoczyć tu? Generalnie to może być tak że obaj macie rację, czasem bywa tak że "czystość" kodu stoi w sprzeczności z jego czytelnością/utrzymywalnością i trzeba wybrać co ważniejsze.
  • Odpowiedz