Nie poniosłem porażki. Po prostu odkryłem 10 000 błędnych rozwiązań

- Thomas Edison

A Ty ile nowych rozwiązań odkryłeś?

Podziel się nimi i pomóż innym uniknąć tego błędu!

Podziel się z nami swoimi wpadkami

FuckUp #5

Wpadka:

Wysłałem pierwszy samodzielny @ do ważnego klienta. Pełen treści, oratorski, lingwistycznie spójny, cudo. Niestety merytorycznie, jak się potem okazało, rewelacji nie było - na szczęście klient albo się nie spostrzegł, albo nie miał czasu skupiać się na dość istotnych szczegółach. Trochę się upiekło a mogło kosztować.

Swoimi doświadczeniami rzecz jasna nie podzieliłem się z zespołem, wiadomo, kto tam będzie chciał mnie słuchać. Przecież jestem nowy i co ja tam mam do powiedzenia. Zresztą i tak umieją więcej ode mnie.

Kilka dni później inny członek zespołu popełnił bardzo podobny błąd. Może jakbym powiedział o swoim to uniknęlibyśmy kolejnego. A tak tracimy czas na naukę tego samego n-ty raz...

Morał:

'Samodzielny' w zespole nie istnieje. Grupa zawsze zrobi coś lepiej niż jednostka. Dziel się wiedzą, pytaj, słuchaj. Dawaj do sprawdzenia, pytaj o opinie. Nie stracisz, może skorzystasz. To jest takie proste, że aż trudne. Każdego dnia się z tym mierzę.

Autor: Lama

FuckUp #4

Wpadka:

ORM to zło! Siedzę nad kodem 3 godziny i dalej wszystkie podsumowania działają niepoprawnie. Czytam, printuję, debuguje i..... w końcu sprawdzam jak wyglądają zapytania generowanie przez ORM. Patrzę i nie wierzę :( Googlam... no tak jest błąd w ORM, nawet naprawiony i za parę dni będzie opublikowany.

Morał:

NIE ufaj programistom oraz założeniom, że funkcja, której używasz działa tak jak myślę. SPRAWDZAJ i pamiętaj, że od dobrej znajomości SQL nie uciekniesz.

Autor: Tomek G.

FuckUp #3

Wpadka:

Robię projekt wewnętrzny dla klienta z USA. Ponieważ jest wewnętrzny, umówiliśmy się na to, że wspieramy tylko Chrome.
Na jednej ze stron jest klasyczny index page: ma tylko dropdowna, button, i listę użytkowników. Na stronie HTML, na dole, klasyczny <script> tag a w nim tylko jeden selektor do dropdownu, aby odświeżyć stronę z innym parametrem, przy zmianie dropdowna. Drugi do buttona, który robi coś innego. Słowem - klasyka. Pięć linii JS. Strona działa od roku bez zarzutów.
Po roku, do klienta w USA dołączył nowy partner, który nienawidzi Chroma, za to kocha Safari. Zgłosił od razu buga, że strona nie działa na safari. Ponieważ nie mam maca, i nie wiedziałem wtedy nic o emulacji, poprosiłem kolegę żeby zrobił code review. Było 5 linii kodu, więc nie było na co patrzeć - ticket na “cannot reproduce”, low priority i do backloga. Ticket był odbijany parę razy, nawet dostaliśmy nagrania video, ale ostatecznie wyszło na to że klient jest głupi, i ma zepsuty komputer. Od miesięcy nikt go palcem nie rusza.

Niedawno musiałem dodać nowego dropdowna do tej strony. Skopiowałem więc sobie istniejace linie JS i wzbogacony kilkumiesięcznym doświadczeniem, zauważyłem coś dziwnego. Gdy dodawałem po raz pierwszy selecta do tej strony, skopiowałem kod, który działał na buttonie. Kod ten przechwytywał even “on Click”. Identycznie było dla selecta. Ale przecież select powinien mieć inny event… “on Change”. Czemu to działa?

Morał:

Okazało się, że w Chromie, event “on Click” i “on Change” działają tak samo. W innych przeglądarkach też. Dlaczego? Bo twórcy przeglądarek wiedzą, że programiści są niedbali i kopiują kod bez namysłu. A potem dostaje się twórcom przeglądarek, że tylko u nich nie działa. Więc ułatwiają życie programistom, naprawiając ich błędy automatycznie. W safari nie ma takiego mechanizmu. Błąd był w kodzie.

Autor: witczax

FuckUp #2

Wpadka:

Przed Tobą nowe, ciekawe zadanie! Chcesz wypaść jak najlepiej, myślisz: sam się za to wezmę, przecież potrafię! Znasz to?

Organizujesz event, chcesz poinformować o tym wszystkich zainteresowanych. Zaglądasz do bazy - blisko tysiąc maili! Patrzysz na możliwości swojej poczty i dochodzisz do wniosku, że trochę czasu zajmie zanim POJEDYNCZO skopiujesz każdy z adresów... Ale przecież warto to zrobić - cel szczytny, a idea wielka!
Entuzjastycznie zabierasz się za kopiowanie maili - przez przypadek o sposobie podejścia do mailingu usłyszała osoba, z którą współpracujesz. Dopytała o szczegóły, więc z niemalejącym optymizmem wyjaśniasz ten swój zacny, a przy okazji zajmujący wieki plan.

Lawina śmiechu pomieszana z niedowierzaniem - taka reakcja nie powinna nikogo dziwić. Okazuje się, że jeden mały skrypt może zdziałać cuda (a przynajmniej zaoszczędzić TROCHĘ czasu)!

Morał:

Wykorzystaj wiedzę i doświadczenie innych. Możesz teraz zapytać: co w momencie, kiedy nie wiem o możliwościach, jakie mam? Słowo klucz: KONSULTUJ swoje działania. Pamiętaj, każde działanie można ulepszyć - jeśli zauważyłeś, że coś zajmuje więcej czasu albo zasobów niż Ci się pierwotnie wydawało - powiedz o tym głośno. Nic nie tracisz, a zyskać możesz naprawdę dużo! Pamiętaj, bycie "leniwym" się opłaca - to właśnie leniwi odkrywają sprytne rozwiązania :)

Autor: Zosia

FuckUp #1

Wpadka:

Dostałem swoje pierwsze zadanie, które polegało na kompletnej przebudowie jednego z widoków w naszym systemie. Wiadomo, pierwsze zadanie, ja typowa świeżynka, trzeba się wykazać. Nikogo o nic nie pytam (no bo po co ?), lecę z koksem i robię widok. Mija jakiś czas, widok nabiera kształtów, ja zadowolony, wszystko cacy. Projekt był już na tyle dopieszczony, że można było w końcu komuś go pokazać, skorzystałem z okazji, że Boss rozmawiał z kolegą z pokoju i poprosiłem o zerknięcie okiem na widok. Po krótkiej konsultacji, dowiedziałem się, że w tym systemie, klasy nazywamy w języku polskim… No dobra, nie ma tragedii jakieś 200 klas w stylach plus HTML, łącznie z przerwami jakieś 3 godziny w plecy. Kolejna konsultacja, kolejne nowości (dla mnie). Widok nad którym pracuję nie jest jedynym w systemie, więc nazwy klas typu “nagłówek” nie przejdą. Trzeba dodać prefiks. Ok, spoko, nie jest źle Ctrl + C, Ctrl + V (razy 300) i jestem w domu, ale… W trakcie “zasłużonej” przerwy uświadomiłem sobie, że w momencie wpisywania prefiksu do pierwszej klasy musiałem pomyśleć sobie o innym zadaniu, co poskutkowało nadaniem prefiksu załóżmy “schabowy”, widokowi odpowiedzialnemu za wegańską sałatkę :( Kolejne poprawki, kolejne godziny w plecy, ale widok jako tako gotowy. Przychodzi Boss i stwierdza “Ty, zmieńmy ten prefix na taki i taki, bo może się mylić z innym”, po czym wpisuje magiczną formułkę, która zmieniła wszystkie prefiksy…

Morał:

Po pierwsze zanim zaczniesz cokolwiek, spytaj kogoś, zwłaszcza jeśli jesteś nowy, albo robisz coś po raz pierwszy. Zrobiłeś już chociaż 1 element ze 100? Skonsultuj to, żeby nie powielać błędów pierwszego w kolejnych 99. Po drugie, znaj narzędzie swojej pracy. Poświęć trochę czasu, żeby poznać jego możliwości, bo prędzej czy później to się zwróci i nie będziesz musiał ręcznie klepać setek prefiksów :D

Autor: Grzesio

Podziel się z nami swoją wpadką!