Brak dokumentacji, spagethii code a efektywność.

1

Witam wszystkich ponownie.
Mam do was pytanie, czy to normalne ze przy spaghetti code, bez żadnej dokumentacji (kompletnie nic a nic) bardzo wolno mi idzie praca. Nie mam problemu z samym programowaniem, ale wpatruje się w kod prawie cały tydzień i szukam zmiennych z wybranymi danymi, czy też metod, aby wykonać proste zadanie (Dokładnie jeden tydzień). Jakoś kodu mnie dobija, zero wzorców projektowych, nazwy zmiennych i metod kompletnie z "d**y". Dodam, że od niedawna zmieniłem pracę i trafiłem na ten projekt (molocha) w opłakanym stanie. Mam możliwość zmiany projektu za mniejsze pieniądze. Czy rzeczywiście, tak jest ze większość kodów jest bez dokumentacji plus spaghetti code ? Przy okazji kierownik tego projektu non stop mnie pogania, mówiąc że to "proste" - siedzi tam 10 lat. Zastanawiam się czy ze mną coś jest nie tak. Może przydała by się jakaś rada jak sobie z tym radzić.

4

Kilka rad

  1. Zmień firmę, zwłaszcza jak masz typów co kiepsko programuja i robią tam po 10 lat. Taki typ przyjdzie Ci, dopiszę ifa na szybko i pokaże Ci ze jesteś głupi, ale to już nic, se po tygodniu przez tego ifa okaże się że pół projektu rzuca errorami.
  2. Wg Twojego opisu wygląda mi to jakbys nie do końca opanował użycie IDE (a dokładnie skakanie po funkcjach, zmiennych, refaktoryzacja itp) sprawne użycie IDE czasami potrafię zmienić spaghetti w lasagne :)
  3. Skoro robisz coś tydzień to przez ten czas, skacząc po kodzie nanos poprawki, tzw zasada skauta/harcerza. Mam nadzieję że zmiany w kodzie są wersjonowane w gicie. Jak nie, to patrz pkt. 1
  4. Nie kloc się z idiotami, tylko rób swoje.

Odnośnie samego pytania - tak to normalne, że długo Ci to zajmuje. Nie sztuka jest wprowadzić szybką zmianę i po tygodniu latać ją, wraz z 10cioma innymi błędami które powstały z tej zmiany.

1

Jeden stary wyjadacz powiedział o początku wieku (na pewno wypełniający zadania, bo bank na nim działa kilkanaście lat): zastanawiałem się co najmniej trzy dni dlaczego to działa, bo według mnie to nie miało prawa nigdy działać.

3

spadżetti to szkoła przetrwania, jak sobie z tym radzisz to nigdy cię nie zaskoczy kod innych programistów. Ja tam lubie spadżetti bo lubię robić refaktoring a i jeszcze mi się nie zdażyło by ktoś w spadżetti mnie poganiał bo każdy wie, że to tykająca bomba. Mogę powiedzieć że w spadżetti to ja odpoczywam :D

7
evenuel napisał(a):

Czy rzeczywiście, tak jest ze większość kodów jest bez dokumentacji plus spaghetti code ?

Niestety tak. Chociaż ostatnio to się zmienia i zamiast spaghetti jest DDD-spaghetti.

Zastanawiam się czy ze mną coś jest nie tak.

Chyba tak, skoro tam jeszcze pracujesz.

Może przydała by się jakaś rada jak sobie z tym radzić.

Ja bym gościowi nasikał do herbaty.

1
evenuel napisał(a):

Mam do was pytanie, czy to normalne ze przy bla, bla, bla (jakieś narzekania) kierownik tego projektu non stop mnie pogania, mówiąc że to "proste" - siedzi tam 10 lat.

To jest prawdziwy problem, a nie spaghetti. Kod zawsze będzie mniej lub bardziej brzydki (bo większość programistów pisze zły kod), ale poganianie kogoś nowego, bo nie umie wejść szybko w spaghetti, to już jest januszyzm. I brak empatii.

ale wpatruje się w kod prawie cały tydzień i szukam zmiennych z wybranymi danymi, czy też metod, aby wykonać proste zadanie (Dokładnie jeden tydzień)

To się nazywa dług techniczny.

Ktoś kiedyś zrobił coś "na szybko", walnął nazwy zmiennych i metod kompletnie z "dupy", a teraz trzeba z tym żyć. Musisz spłacać dług techniczny, który tamten ktoś zaciągnął. Dlatego jest wolniej i dlatego cię poganiają, bo kretyni nie pojmują koncepcji długu technicznego. Że jak coś kiedyś było zrobione szybko, ale byle jak, to teraz trzeba za to płacić.

Myślę, że są dwie drogi:

  1. idziesz w januszyzm i ulegasz kierownikowi i robisz rzeczy szybko, nawet byle jak. Albo ściemniasz że coś jest zrobione w 100%, nawet jeśli jest zrobione w 50% i to słabo. Może nikt się nie skapnie.

Wady? Stajesz się januszem, takim samym, jak ci, co byli przed tobą. I tworzysz kolejny dług techniczny, który będzie trzeba kiedyś spłacić.

Zalety? Masz posadkę, którą masz i dostajesz hajs, który dostawałeś. A jak będzie trzeba spłacić dług techniczny, to zawsze będziesz mógł zrzucić winę na kogoś nowego. Czyli dzisiaj piszesz spaghetti kod, a za pół roku będziesz mógł zrzucić winę na jakiegoś nowego programistę i to nie ciebie będą poganiać, ale to ty będziesz poganiać innych, że nie umieją w spaghetti kod.

  1. składasz wypowiedzenie i adieu

Zalety:
Twój honor, reputacja i RiGCz nie ucierpi. Będziesz mógł dalej spojrzeć sobie w lustro bez myśli, że jesteś skurwielem.
Wady:
Tracisz posadkę i musisz się rozglądać za inną firmą

2

Nie warto kopać się z koniem. Szukaj nowej firmy, tym razem przyłóż się porządnie do sprawdzenia czy ta firma to nie kolejny januszsoft.

1

Wszedłem raz do takiego projektu po godzinach (zdalnie). Na rozmowie pytali o dobre praktyki wzorce ddd. A rzeczywistość zupełnie inna. Jednoliterkowe zmienne, zero testów. To była masakra. Wytrzymałem może z miesiąc. Stwierdziłem, że lepiej po godzinach uczyć się czegoś nowego, robić coś swojego niż siedzieć w g..ie. Ja bym szukał czegoś nowego na twoim miejscu

5
LukeJL napisał(a):

Musisz spłacać dług techniczny, który tamten ktoś zaciągnął.

Dług techniczny nie jest wyrażany w jakiś magicznych punktach inżynierskich, to jest taki sam dług jak każdy inny, i spłaca się go pieniędzmi. Dlatego to nie programista spłaca dług techniczny, tylko sponsor projektu płacąc programiście za robienie czegoś 2 tygodnie zamiast 2 godzin.

2
somekind napisał(a):

Dług techniczny nie jest wyrażany w jakiś magicznych punktach inżynierskich, to jest taki sam dług jak każdy inny, i spłaca się go pieniędzmi. Dlatego to nie programista spłaca dług techniczny, tylko sponsor projektu płacąc programiście za robienie czegoś 2 tygodnie zamiast 2 godzin.

tyle, że dług techniczny nie wychodzi w tabelkach Excela, więc menadżerom nie przeszkadza.
Dopiero, gdy dług nie urośnie do takiej skali, że nie da się go ignorować, bo koszty w innych pozycje są absurdalnie duże, to wtedy menadżer coś robi.

  • dużo błędów, szczególnie notorycznie powracających
  • wprowadzenie nowego feature trwa w nieskończoność.
  • duża rotacja programistów/testerów
0
MarekR22 napisał(a):
  • duża rotacja programistów/testerów

Jesteś managerem czy programistą?
Początkowe rozeznanie w ofercie to informacja o rotacji, nie ważne jak uzyskana.

0
MarekR22 napisał(a):

tyle, że dług techniczny nie wychodzi w tabelkach Excela, więc menadżerom nie przeszkadza.

Może nie wychodzić w tabelkach, to nie ma znaczenia. I tak płaci sponsor projektu, czy świadomie, czy nie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1