Pytam, bo jestem świeżo po rozmowie z przełożonym. Okazało się, że zacommitowałem do repo klienta print "ku*a";
:D
To mój pierwszy taki przypadek w ciągu moich 5 lat pracy, a jak wiadomo pierwsze razy są najgorsze i teraz siedzę i palę się ze wstydu, ale jednocześnie jestem ciekaw czy wam też się takie coś zdarza/zdarzyło? Jeśli tak to jak często?
Wiadomo - nie powinno się robić rzeczy, które mogą nam przynieść wstyd, ale mylić się i być sfrustrowanym po 3 godzinach nieskutecznego debugowania jest rzeczą ludzką i każdemu może się zdarzyć. Mam nadzieje, że klient i przełożony szybko o tym zapomną :D
- 1
- 2

- Rejestracja:około 2 lata
- Ostatnio:około 10 godzin
- Lokalizacja:Dubaśno
- Postów:10
- Rejestracja:prawie 2 lata
- Ostatnio:8 miesięcy
- Postów:58
Czasem się zdarzało (po czasie jest się z czego pośmiać) ale to i tak zależy od podejścia klienta i przełożonych.
Jeden się zaśmieje a inny zrobi akcję jakby się świat kończył.
Sam miałem sytuację kiedy, testowałem świeżo postawione WebApi i jako respond dostałem komunikat "ch*j ci w d**e, ssij mój socket" XD, bo zapomnieliśmy to poprawić przed deploy-em :D
Niby nic wielkiego, ale byłem wtedy zsharowany z klientem :D po minucie konsternacji z mojej i klienta strony on wybuchł śmiechem.
Z tym klientem akurat wyszliśmy na plus, bo szybko zamówił u nas kolejne aplikacje (stwierdził, że równe z nas chłopaki :D).

- Rejestracja:ponad 2 lata
- Ostatnio:dzień
- Postów:92
nie używam dup w kodzie komercyjnym, więc nie grozi mi ich zakomitowanie


- Rejestracja:ponad 17 lat
- Ostatnio:dzień
- Lokalizacja:Warszawa
- Postów:2251
Dziwnie mi udzielać porad dla @_cwel bo i sam nick jak i problem jest troszkę trollingiem. Mimo wszystko commita da się nadpisac. Można też wrzucić fixa jako odrebny commit.




- Rejestracja:około 9 lat
- Ostatnio:około 10 godzin
- Postów:384
Kiedyś pracowałem w firmie w której kolega przepchał dupę do raportu generowanego raz na dobę i widocznego w aplikacji. Prezes osobiście musiał jechać do Klienta i przepraszać za sytuację.
Samemu nawet nigdy nie wpadłem na pomysł żeby wpisywać takie coś podczas debugu, jeśli już to jakieś 'testX' czy inny nieszkodliwy ciąg znaków.

- Rejestracja:prawie 15 lat
- Ostatnio:około 3 godziny
- Lokalizacja:Laska, z Polski
- Postów:10056
Mi się czasem zdarzyło, i szczerze mówiąc, nie widzę w tym nic złego. "d*pa" gdzieś w UI w aplikacji, że klient to widzi, to jest mega słabe - albo gdzieś w logach, w danych. Ale jeśli jest tylko w repo, w kodzie źródłowym i nie wyjdzie "na swiat" to moim zdaniem to nie jest nic strasznego.
Lepsze to niż wrzucić zmienną globalną.

- Rejestracja:ponad 5 lat
- Ostatnio:24 dni
- Lokalizacja:Wrocław
A żeby to raz. H^je
, ci^py
, XD
to standard podczas debugowania :D
- screenshot-20230623122417.png (343 KB) - ściągnięć: 9
- Rejestracja:ponad 7 lat
- Ostatnio:mniej niż minuta
- Postów:268
Ostatnio wrzucałem cały plik konfiguracyjny z setkami przekleństw - No ale to na potrzeby taska. Niemniej satysfakcja była, że można bez problemu wrzucić zmiany a nawet dopisałem kilka swoich :D A tak to nigdy d**y w debugowaniu, zawsze jakieś foo,boo,zoo,doo

- Rejestracja:prawie 22 lata
- Ostatnio:dzień
Kiedyś kolega mi wyłapał console.log('dupa')
na CR.
I tak większość klientów nie wie, co to znaczy, więc 🤷🏻♂️


console.log
mógłby być przez jakiegoś sonara wyłapywany. Z resztą regułę na bluzgi też się powinno dać łatwo zrobić, tylko kto o tym myśli

- Rejestracja:prawie 5 lat
- Ostatnio:5 miesięcy
- Postów:2420
Rożne rzeczy widziałem w priv repo i w open source. Kiedyś była dupa w kodzie ScyllaDB (nie mam czasu robić teraz searcha przez całą historię, niech ktoś!).
Jeden hindus z którym pracowałem zawsze walił na początku każdego pliku który stworzył ASCII grafikę wychwalającą wielkość jego członka ego. Nie dało się przetłumaczyć, proceder skończył się gdy gość odszedł po kilku latach...
Generalnie code review ucieło tego typu śmieszki i hihi... Ale w czasie testów nadal się zdarza. Kiedyś na staging narobiłem Dup i ujów, na moje nieszczęście w tym samym czasie marketing robił zrzuty ekranu z przykładowego projektu - który o dziwo okazał się być naszym testowym projektem - na szczęście marketingowiec był na tyle ogarnięty żeby zapixelować :D
A teraz praktyczna rada: napisz sobie w Git commit hook'a który będzie blokował wszystkie polskie wulgaryzmy.
Tutaj jest przykład: https://gist.github.com/skwashd/8732878
I będzie po sprawie...
- Rejestracja:prawie 8 lat
- Ostatnio:około godziny
- Postów:564
Wulgaryzmy nie, ale zdarza mi się w testach używać nazwisk celebrytów np. Assert.Equal("Bartosz Walaszek", result.FullName);

- Rejestracja:ponad 18 lat
- Ostatnio:5 dni
- Lokalizacja:Rzeszów
Jak dupa-debuguję (określam tak wszelkie prymitywne rozwiązania typu var_dump
czy console.log
), to raczej wpisuję trudne do wymówienia polskie słowa - gdybym coś spushował nie takiego to będą to "kłaczki" np., a że jestem jedynym Polakiem w zespole, to i tak nikt nie ogarnie.
Ale generalnie robię review swojego własnego kodu przed spushowaniem, już nawet nie przez d**y, tylko czy nie zrobiłem sobie jakiegoś "mocka", typu wyłączyłem sprawdzanie czegoś czy jakieś operacje ifem, żeby przyspieszyć weryfikację źle działającego fragmentu dłuższego flow.
Ale pamiętam jak dawno temu znalazłem w jakimś CMS robionym przez znajomego szwagra kolegi bratanka globalną sól do haseł, coś w stylu: jeb**iewp**dędupacyckich*j111!!!

- Rejestracja:ponad 8 lat
- Ostatnio:około 3 godziny
- Postów:3462
Jak robię dupa debugging to zawsze stosuję do tego numer linii kodu.
echo 'linia:' . __LINE__;
Natomiast w jednym projekcie było sprawdzenie wszelkich wulgaryzmów na pipleine po tym jak ktoś skutecznie kilka razy wypchnął console.log('dupa')
na proda.
- Rejestracja:ponad 2 lata
- Ostatnio:około rok
- Postów:1208
@jurek1980: takie coś niewiele mówi co się wydarzyło, jak nazywam coś dupami to wiem która dupa odpowiada za jaki efekt

- Rejestracja:około 9 lat
- Ostatnio:2 minuty
- Postów:5109
Jeżeli ktoś wrzuca przypadkiem wulgaryzmy do repo, to bardzo źle to świadczy, bo:
- nawet nie przegląda tego co robi zanim commitnie/pushnie
- nikt nie robi review? a nawet jeżeli robi, to tego nie zauważył? no lipa w obu przypadkach.

- Rejestracja:około 17 lat
- Ostatnio:około 24 godziny
- Lokalizacja:Wrocław
Nie wiem po co printować coś, co nie niesie ze sobą żadnej informacji, więc też tego nie wrzucę do repo.


- Rejestracja:około 6 lat
- Ostatnio:około 15 godzin
somekind napisał(a):
Nie wiem po co printować coś, co nie niesie ze sobą żadnej informacji, więc też tego nie wrzucę do repo.
Czasem używając jakichś frameworków które robią magie i dopiero w runtime się dowiadujesz czy coś się odpali czy może nie spełnia jakiegoś wymogu i printujesz żeby wiedzieć czy w ogóle kod został odpalony.
Albo debugując kod wielowątkowy gdzie wszystkie wątki muszą iść razem i nie możesz po prostu postawić breakpointa. Można wyklikać żeby breakpoint się odpalił warunkowo albo żeby wypisał coś na konsoli, albo dowiedzieć się ile razy się metoda odpala w profilerze zamiast w konsoli i ogólnie użyć narzędzi do tego przeznaczonych ale to zajmie kilkadziesiąt sekund a nawet kilka minut a "print(dupa)" zajmuje 2 sekundy.
Serio nigdy nie wstawiłeś tymczasowego debug.print nigdzie do kodu?
Ja się sparzyłem jeszcze w podstawówce gdzie pisaliśmy na informatyce jakieś stronki w HTML/JS na IE6 i nazwę funkcji do poruszania elementem nazwałem dla żartu "ruchaj" a nauczyciel mi to wytknął z politowaniem na twarzy. Od tamtej pory w kodzie nie piszę niczego przez co bym się wstydził gdybym zapomniał tego usunąć.

- Rejestracja:ponad 5 lat
- Ostatnio:około 23 godziny
- Postów:382
Dupa debugging raczej nie stosuję, praktycznie zawsze staram się zawrzeć we wiadomości jakieś minimum przydatnej treści, typu starting thingX
, thingX done
albo chociażby numer linii w pliku źródłowym.
Zdarzyło mnie się wrzucić w repo wulgaryzmy w komentarzach do kodu, gdy musiałem pisać jakieś akrobatyczne workaroundy na błędy w bibliotekach czy inszych API, których używaliśmy.

- Rejestracja:około 17 lat
- Ostatnio:około 24 godziny
- Lokalizacja:Wrocław
obscurity napisał(a):
somekind napisał(a):
Nie wiem po co printować coś, co nie niesie ze sobą żadnej informacji, więc też tego nie wrzucę do repo.
Czasem używając jakichś frameworków które robią magie i dopiero w runtime się dowiadujesz czy coś się odpali czy może nie spełnia jakiegoś wymogu i printujesz żeby wiedzieć czy w ogóle kod został odpalony.
Albo debugując kod wielowątkowy gdzie wszystkie wątki muszą iść razem i nie możesz po prostu postawić breakpointa. Można wyklikać żeby breakpoint się odpalił warunkowo albo żeby wypisał coś na konsoli, albo dowiedzieć się ile razy się metoda odpala w profilerze zamiast w konsoli i ogólnie użyć narzędzi do tego przeznaczonych ale to zajmie kilkadziesiąt sekund a nawet kilka minut a "print(dupa)" zajmuje 2 sekundy.
Serio nigdy nie wstawiłeś tymczasowego debug.print nigdzie do kodu?
Wiele razy. Ale zawsze coś sensownego, dającego informację o kontekście, nigdy dup czy innych wulgaryzmów.





- Rejestracja:ponad 21 lat
- Ostatnio:około 11 godzin
_cwel napisał(a):
Pytam, bo jestem świeżo po rozmowie z przełożonym. Okazało się, że zacommitowałem do repo klienta
print "ku*a";
:D
To mój pierwszy taki przypadek w ciągu moich 5 lat pracy, a jak wiadomo pierwsze razy są najgorsze i teraz siedzę i palę się ze wstydu, ale jednocześnie jestem ciekaw czy wam też się takie coś zdarza/zdarzyło? Jeśli tak to jak często?
Nie zdarza mi się, bo jak już to printuję jakieś "AAAA"
, "BBBB"
czy "Ala ma kota"
- Rejestracja:ponad 7 lat
- Ostatnio:6 miesięcy
- Postów:25
Kiedyś na projekcie spotkałem się ze stałą, którą ktoś nazwał "TOO_OLD_TO_BE_ALIVE" zamiast np "MAX_AGE" i zostało to ciepło przyjęte i z tego co wiem nie zmieniło się do teraz :D
- Rejestracja:ponad 14 lat
- Ostatnio:3 miesiące
Pisząc pracę inżynierską dałem promotorowi wersję w której zapomniałem wyłączyć d**y. No i leciały ładne komunikaty: "tworzę d**y", "dupa1", "dupa2"
Pisałem aplikację dla jednego urzędu. Wysyłając im wersję beta zapomniałem wyłączyć wyświetlanie pewnych okien dialogowych. No i potem dostałem maila z zapytaniem co to za wyskakujące okna z komunikatem "i się wyjebało"
- Rejestracja:około 3 lata
- Ostatnio:ponad rok
- Postów:2310
a zdarza się wam
int cunt = 0;
...
cunt ++;
We współczesnych IDE to łatwe, tylko jedna literka różnicy



- Rejestracja:około 2 lata
- Ostatnio:około miesiąc
- Postów:18
Dla mnie to nieprofesjonalne.
Mogę napisać sto innych rzeczy to po co mam pisać akurat wulgaryzmy.
Pokląć sobie mogę, ale nie muszę tego wrzucać do kodu i ryzykować zacommitowania.
Kolega mi kiedyś opowiedział historię z pracy w wiodącym polskim portalu internetowym, kiedy "udało mu się" pewne niecenzuralne słowo wyświetlić na prodzie (nie na głównej stronie).
Podobno myślał, że robi to na środowisku testowym, na szczęście dla niego zorientował się po jakiejś minucie i żadnych konsekwencji nie było.
To było wiele lat temu, więc mechanizmy code review w obecnym rozumieniu jeszcze nie funkcjonowały.
Jak stwierdził nauczyło go to, żeby nigdy więcej nie pisać takich rzeczy w kodzie.

- Rejestracja:ponad rok
- Ostatnio:ponad rok
- Postów:38
Mnie to zastanawia jaki to ma sens logiczny.
Dobra program się wywali widzimy stacktrace i wiemy, że coś na tej linijce kodu w tej funkcji się wywaliło.
Czyli randomowe print już nie są potrzebne.
Teraz żeby zrozumieć co poszło nie tak to przed tym wywaleniem, to powinno się wyświetlić jaki był stan zmiennych, czyli albo breakpoint albo jakieś printy z kluczowymi zmiennymi.
Wpisywanie jakiś śmieciowych danych w print to trochę śmierdzi jakąś głupotą, która nic nie rozwiązuje?
Albo jeszcze lepiej zacznijcie testy pisać, a nie że wszyscy deklarują jak to nie testują kodu profesjonalnie, a potem anyway wpiszę print żeby sprawdzić czy te któreś z tych funkcji się nie wykonała, a potem w następnym poście na forum opisują jak to testowanie jest ważne w projektach i jak bez tdd nie da się żyć, a potem kod nie testowalny testują printem czy się wykonuje <facepalm>

- 1
- 2