Wpis z mikrobloga

Przypomniało mi się jak w poprzedniej robocie zostałem przydzielony do projektu z fatalnym kodem gdzie zmienne i klasy były nazywane po polsku.

Były tam różne perełki jak np. 7 zagnieżdżonych pętli for kończących się przypisaniem indeksu do zmiennej i breakiem.

Co do nazw klas to rozwalają mnie do tej pory takie trzy: Lista, ListaList i ListaNaListachList ( ͡° ͜ʖ ͡°)

Miałem w tej pracy też takiego gościa, który był bardzo biegły w C i przeglądając kod wyłapywał różne smaczki, które potem publikował w serii maili pt. Tytani programowania. Do tej pory bawi mnie ta nazwa.

Macie jakieś takie śmieszne historyjki związane z kodem niepublikowane nigdy wcześniej ( ͡° ͜ʖ ͡°)? Chętnie się pośmieję.

#programowanie #programista15k #java #heheszki
  • 17
via Wykop Mobilny (Android)
  • 4
@RHarryH: u mnie w firmie tego typu smaczki nie kończą się, kierownictwo upiera się przy kompatybilności wstecznej przez co kod, a raczej gigantyczne spaghetti pisane przez amatorów 20 lat temu tylko rośnie. Skutkiem tego są takie rzeczy jak np zmienna = timer; // pozyczam zmienna, od teraz jest timerem ( ͡° ͜ʖ ͡°) czy if Value then Result = True else Result = False
@RHarryH: Gdy junior tworzy takie cuda to w zasadzie nie ma problemu dopóki da się z nim dogadać i poprawia to na co mu się zwróci uwagę. Gorzej jak masz w teamie "seniora" po pracy na uczelni.
Kwiatki w stylu:
- pobranie kilkunastu tysięcy rekordów tylko po to by sprawdzić czy lista nie jest pusta.
- przepychanie z backendu (przez kilka metod) dodatkowej zmiennej na front bo cytuję "w js nie
@Dirrack: Ale kompatybilność wsteczną można by zachować stosując refactoring kodu i pokrycie testami. Kierownictwo jest tego świadome? Chyba, że po prostu to jest już nieopłacalne.

@63274682374: Przedostatnie brzmi jak słynne TODO, które potem gnije w kodzie latami ( ͡° ͜ʖ ͡°)
via Wykop Mobilny (Android)
  • 0
@RHarryH: istnieje kod, którego nie da się już refactorować, to właśnie ten kod. Zwroty jak testy, architektura, standard, dokumentacja itd. są kierownictwu nieznane. Bardzo długo np było forsowane by korzystać z bazy danych a nie pliku txt ( ͡º ͜ʖ͡º)
Ale kompatybilność wsteczną można by zachować stosując refactoring kodu i pokrycie testami. Kierownictwo jest tego świadome? Chyba, że po prostu to jest już nieopłacalne.


@RHarryH: W januszsexach liczy się pieniądz. Idę o zakład, że testów brak, projekt ma LOCe liczone w milionach i pokrycie tego testami to kilka miesięcy zastoju w nowych funkcjonalnościach a na takie coś nikt z góry się nie zgodzi. Co więcej, jak są tam osoby, które w
@Dirrack: U mnie też było takie zacofanie dlatego odeszłem. Własny nieintuicyjny framework rozwijany przez kilkuosobowy zespół, nadający się tylko do konkretnych zastosowań, ale używany wszędzie. Kierownik twierdzący, że Java to nowa technologia i on by to szybciej napisał w C (mimo, że wciąż znajdowali ładne buble w jego dawnym kodzie). Zakaz używania jakichkolwiek frameworków z zewnątrz. O testach można było zapomnieć. Dokumentację pisał oddzielny dwuosobowy team, który opisywał głównie to co
Bardzo długo np było forsowane by korzystać z bazy danych a nie pliku txt ( ͡º ͜ʖ͡º)


@Dirrack: Uuu szacunek, widzę, że kolega się taplał w gorszym bajorku niż ja. U mnie w związku z bazą danych przychodzą jedynie dwa memy do głowy:

relacyjnośćapocotokomu.png

oraz

to
sięwtriggerze_zateguje.png
via Wykop Mobilny (Android)
  • 0
@RHarryH: u mnie przepisali stary wewnętrzny system na nowsze frameworki, nie dodali jednej funkcjonalności, która znacznie ułatwia pracę dla jednego działu. Funkcjonalność można dodać w max tydzień razem z testami. Jednak góra zdecydowała, żeby tego nie robić i zostawić stary system, który do teraz jest utrzymywany i zjada ogrom zasobów z serwerów
@RHarryH:
- Metoda isSecondGreater(a, b), ktora zwraca b > a
- Zduplikowane endpointy REST-owe dla appki na iOS, bo "przekazanie parametru w sciezce HTTP jest w iOS trudne"
- Rozwiazywanie cyklicznych zaleznosci miedzy beanami poprzez wrzucenie problematycznego beana jako parametr metody
- Metody z 12+ parametrami
- Rzucanie RuntimeException albo jednym wyjatkiem dla frontendu z kazdej mozliwej warstwy

Najlepsze, ze 4 ostatnie punkty popelnil software architect z jakimis 30 latami doswiadczenia