Wpis z mikrobloga

Jak się odnaleźć w spaghetti kodzie pisanym na kolanie od wielu lat, bez testów? Ma ktoś doświadczenie w takich potworkach, gdzie każdy ficzer to był dodatkowy if i DI hell? Usiłuje przeforsować idee pisania zaległych testów integracyjnych w ścieżkach krytycznych, co by pozwoliło na refactor, ale ciągle jest coś innego do roboty i taka rozmowa xD
#programista15k
  • 14
@wujo17: imo to jebnie, ale biznes nie chce słyszeć że jest źle w kodzie, bo klienta pierwszego szukają i trzeba robić to co klient oczekuje ( ͡° ͜ʖ ͡°) no a jakbym był tech leadem takiego projektu, to też bym się nie przyznał że od 4 lat było źle robione
@Kitku_Karola: wiesz ale refavtor to gruba sprawa, mam wrażenie czego nie ruszysz to tydzień, dwa z głowy. Plus kwestia tego że nie wiesz czy czegoś nie zepsujesz bo codebase duży, a testów brak
@wafel93: Pomyśl też dlaczego jest bez testów, nie koniecznie taka była wola tech leada.

co by pozwoliło na refactor, ale ciągle jest coś innego do roboty

Jakbym czytał o swojej obecnej pracy.
@wafel93: Czasami trzeba poczekać aż coś jebnie solidnie u klienta i wtedy robicie porządne postmortem podczas którego wyjdzie, że jeśli mielibyście testy to błąd byłby wykryty wcześniej.

Jest jakaś dokumentacja, architekt, ADRy?
@wafel93 tylko nie przepisuj całego systemu. Robisz listę problemów ogólnych albo dzielisz modułami i co sprint jedną rzecz usprawnieniasz. Trzeba się liczyć z tym że coś się może popsuć. Dobrze zacząć od napisania testu ale nie zawsze jest to możliwe żeby bez ich dotykania potem reflektorować. Jest taki framework do testów że przygotowujesz listę inputow i odpowiadających im outuputow bez zagłębiania się w system i mockowania. Poprostu rezultat ma być nadal taki
Usiłuje przeforsować idee pisania zaległych testów integracyjnych w ścieżkach krytycznych, co by pozwoliło na refactor


@wafel93: Dokładnie to plus brakujące testy jednostkowe.

ciągle jest coś innego do roboty


@wafel93:
1. Przypominaj przy każdej okazji że to jest potrzebne.
2. Przeforsuj dodanie jakiegoś poziomu pokrycia testami do Definition Of Done. Wiem, że samo pokrycie o niczym nie świadczy, ale przynajmniej dostaniesz budżet czasowy na to.
3. Jeżeli na horyzoncie pojawia się
Do zaorania, napisać od nowa


@wujo17: Aha. Skoro kod nie ma testów, to zapewne nie ma też dokumentacji, a ze spaghetti nie da się łatwo wywnioskować co tak naprawdę robi. Tak więc nie bardzo wiadomo co napisać od nowa. Pomijając ten jeden detal twoja rada jest świetna ( ͡ ͜ʖ ͡)
@wafel93: jak pracodawca jest negatywnie nastawiony do testow i refactoru to bym mu podziękował bo im dalej w las tym będzie większe druciarstwo i już wiesz jaka będzie miał odpowiedz jak przyjdzie czas ze koniecznie trzeba będzie coś przepisać