Programistyczne WTF jakie Was spotkały

Odpowiedz Nowy wątek
rnd
2009-04-03 11:31
rnd

Rejestracja: 12 lat temu

Ostatnio: 8 lat temu

11

Dziś w pracy moim oczom ukazała się klasa na 30k linijek. W jednym pliku.
Jeszcze jestem w szoku :-D
A jakie Wy mieliście WTF?


#define TRUE FALSE
//Happy debugging suckers :D
edytowany 2x, ostatnio: Demonical Monk, 2011-12-04 00:47

Pozostało 580 znaków

2019-06-02 20:53

Rejestracja: 2 lata temu

Ostatnio: 11 minut temu

6

ReferenceError: undefinded is not defined


W sumie prawda. - Michał Sikora 2019-06-02 20:54
Że zacytuję Arthura Conana Doyle'a z ust Sherlocka Holmesa: “There is nothing more deceptive than an obvious fact.” (https://www.goodreads.com/author/quotes/2448.Arthur_Conan_Doyle) - Silv 2019-06-02 21:02
Zaraz, a czy przypadkiem nie popełniłaś literówki? Bo w poście jest. - Silv 2019-06-02 21:05
Owszem, jest literówka, ale i tak trzeba to ująć w cudzysłów. - Freja Draco 2019-06-02 21:13
Smoczyca nie umie pisać. - Pijak 2019-06-03 22:28

Pozostało 580 znaków

2019-06-02 21:07

Rejestracja: 10 lat temu

Ostatnio: 7 godzin temu

5

Uboga dokumentacja PHP opisuje funkcję strrev() jako:
screenshot-20190602210543.png


Więc np:

strrev('Siema');  // 'ameiS'

Niby ok, ale wszystkie dynamiczne języki przyzwyczaiły nas że dodatkowe argumenty (nie zdefiniowane w sygnaturze) powinny być ignorowane - ale nie w PHP:

strrev('Siema', '');  // null

edytowany 1x, ostatnio: TomRiddle, 2019-06-03 09:19
Pokaż pozostałe 17 komentarzy
Dzięki! Przydatne. Pusty ciąg znaków i NULL są identyczne, stąd wniosek, że strrev("coś", "coś2") nie zwraca żadnego ciągu znaków, a ten null skądśinąd pochodzi... - Silv 2019-06-02 22:13
Są inne metody porównywania wartości, np ===. Te konkretne o których Ty mówisz (pusty string i null) mają też różne skutki uboczne masy innych funkcji. One nie są identyczne. - TomRiddle 2019-06-02 22:35
No tak, to możliwe, ale dają prawdę w tabelce. - Silv 2019-06-02 22:36
Mówisz o tabelce z Loose comparisons? Może popatrz na tabelkę Strict comparisons, która jest niżej? - TomRiddle 2019-06-03 09:19
Hm, nie pomyślałem. :) - Silv 2019-06-03 16:22

Pozostało 580 znaków

2019-06-03 22:39

Rejestracja: 1 rok temu

Ostatnio: 6 dni temu

1

Może nie tyle WTF, co już widok rzadko spotykany - ostatnio kupując coś w sklepie Adidasa, widziałem że sprzedawcy używają programu dosowego uruchomionego w oknie. Niestety nie wiem, czy to lokalne rozwiązanie konkretnego sklepu, czy może jakaś stara aplikacja sprzedażowa Adidasa?

Pokaż pozostałe 28 komentarzy
Total Commander mam skonfigurowany jako domyślny menadżer plików. - Freja Draco 2019-06-08 18:04
Mnie się marzy obsługa wszystkiego z poziomu terminala – oczywiście poza stronami internetowymi i ogólnie rzeczami, które są przeznaczone do wyświetlania "bardziej graficznie". Ale do tego to chyba trzeba by nowe środowisko graficzne napisać (PS. mam na myśli Linuksa). - Silv 2019-06-08 18:08
@Freja Draco: co to znaczy mieć skonfigurowany "domyślny menadżer plików"? serio pytam. czym to się objawia? - Azarien 2019-06-08 18:16
@Azarien: to znaczy, że jest uruchamiany jako domyślny program otwierający wszelkie katalogi, na podobnej zasadzie jak można sobie przypisać dowolny program do obsługi plików z wybranym rozszerzeniem. - Freja Draco 2019-06-08 22:15
@Freja Draco: a ja zapomniałem nawet o tym, że jak klikasz dwa razy na katalog w katalogu, to nie musi się otworzyć w tym samym programie, w którym bieżący jest otwarty. ;) - Silv 2019-06-08 22:18

Pozostało 580 znaków

2019-06-09 13:09

Rejestracja: 10 lat temu

Ostatnio: 7 godzin temu

4

Dokumentacja PHP:

screenshot-20190609130941.png


Pokaż pozostałe 18 komentarzy
@TomRiddle: nie da rady, póki nasze forum stoi na PHP. To moja główna motywacja do jego nauki (inaczej może zostałbym przy JavaScripcie). - Silv 2019-07-05 16:31
Powiem Ci, że nie mam zapału. Nie rozumiem, po co miałbym uczyć się czegoś innego, skoro w JS wszystko można zrobić, czego potrzebuję (i czego pewnie większość potrzebuje). Nie mówię w tej chwili o całym ekosystemie PHP. To sprawa historyczna i czegokolwiek bym nie powiedział, nie zmienię tego, że większość (?) internetu to PHP. - Silv 2019-07-05 16:39
@Silv: Po pierwsze, nie wiem czy większość (może duża część), a po drugie: co z tego? Pełno jest pracy w wielu innych językach. - TomRiddle 2019-07-05 16:48
To pozostaje nasze forum (bo pracy stricte w PHP i tak nie spodziewam się znaleźć z moją motywacją do nauki). - Silv 2019-07-05 16:49
Niby @MasterOf zaczął "przepisywać" je na JS, niby jest też projekt CoyoteNET, ale obie rzeczy nie mogą zastąpić obecnej wersji. Przynajmniej na razie, a nawet jeśli pewnego dnia będą mogły, to nie widziałbym sensu w próbach – dopóki @Adam Boduch, @Marooned oraz inni nie przyklasną tej zmienionej wersji, a przede wszystkim używaniu jej zamiast obecnej. - Silv 2019-07-05 16:52

Pozostało 580 znaków

2019-06-09 14:12

Rejestracja: 10 lat temu

Ostatnio: 7 godzin temu

2
axelbest napisał(a):

W razie czego podsyłam normalny link jakby komuś maść na phpowy bool przestała działać. https://www.php.net/manual/en/book.reflection.php

To ja pokażę screena innch wpisów:

screenshot-20190609141115.png




screenshot-20190609141245.png


edytowany 1x, ostatnio: TomRiddle, 2019-06-09 14:13
Pokaż pozostałe 14 komentarzy
@TomRiddle: w linku powyżej jest błąd, powinno być "php-a-fraction-of-no-design". Sam autor twierdzi że po prostu dopisywał kolejne ficzery. Nie kopie się leżącego. Chcesz żeby Ci się lepiej pracowało w PHP to spróbuj zrobić CMSa w XSLT. Po tygodniu wrócisz cały happy do słonia. - vpiotr 2019-07-05 11:25
@vpiotr: Chyba "fractal"? - TomRiddle 2019-07-05 11:30
@vpiotr: jasne że zawsze znajdzie się gorsza technologia, mówienie że są gorsze nie znaczy że php jest "akceptowalny". Takie argumenty prowadzą do nikąd. - TomRiddle 2019-07-05 11:31
@TomRiddle: nie ma języków idealnych. Jak taki znajdziesz to daj znać. A poziom akceptacji zależy wprost od doświadczeń z przeszłości. Stąd moja propozycja. - vpiotr 2019-07-05 11:37
@vpiotr: Jasne że nie ma idealnych. Są za to dobre do jednych celów, inne są lepsze do innych. PHP to syf do którego bez kija się nie podchodzi. - TomRiddle 2019-07-05 14:52

Pozostało 580 znaków

2019-06-11 20:06

Rejestracja: 10 lat temu

Ostatnio: 7 godzin temu

1
no_solution_found napisał(a):

widzę tu pewną przyczynowo skutkowość - prościej, bo nie wywala błędów.

Bardziej mi chodziło o to że nie kończy działania aplikacji, tylko wyprintowuje coś na standard output i leci dalej.

To by oznaczało, że aplikacje w PHP są baaardzo zabugowane i nikt tych błędów nie widzi.

Często tak właśnie jest

Przecież basic też jest skryptowy, też był popularny (i to bardzo) i stała za nim wielka korporacja. Firmy by w końcu przestały inwestować w język, który sprawia tylko problemy przecież...

Niby tak, ale za PHP stoją giga-maszyny typu WordPress, Laravel, niezliczona ilość bibliotek, ogromna społeczność która dba też o jakość kodu (np phpunit), i już jest ogromna, ale to ogromna masa programistów którzy znają ten język

Python też jest skryptowy, też deploy jest prosty a i uznawany jest za jednym z łatwiejszych (przede wszystkim dla nowicjuszy) językiem programowania.

No nie wiem, z PHP wystarczy że zmienisz nazwę pliku z index.html na index.php, i dopiszesz <?= 'hello' ?> w kodzie HTML - reszta działa out of the box. Nie ma nic prostszego na start.


Co do popularności hostingów chyba nie ma wątpliwości?

screenshot-20190611200054.png
screenshot-20190611200107.png


co do hostingu, to uważasz że to jest przyczyna a nie skutek? Może php stał się popularny dlatego jest tyle hostingu a nie na odwrót :) - no_solution_found 2019-06-11 20:59
@no_solution_found: Być może kiedyś. Teraz na pewno wpływa na wybieralność języka przez nowicjuszy. - TomRiddle 2019-06-11 21:01
@no_solution_found: Ale racja, nie znamy przyczynowości. Może był też czynnik C, np PHP miał WordPress'a, i dlatego jest popularny i ma tyle hostingów. - TomRiddle 2019-06-12 12:04

Pozostało 580 znaków

2019-06-13 20:58

Rejestracja: 5 lat temu

Ostatnio: 2 dni temu

6

Trochę WTF, bo ktoś coś zepsuł chyba :D

Jakiś czas temu zapisałem się na kurs na kat A, dostaje się materiały i oczywiście w dobie aplikacji webowych dostęp do aplikacji w której można sobie robić testy na telefonie/laptopie/tablecie (w sumie na wszystkim z dostępem do przeglądarki) i tak sobie klepię te próbne testy (niby takie jak na egzaminie) dzisiaj robię jeden i wszystkie odpowiedzi poprawne jak widać na załączonym obrazku, tylko pytania są punktowane, widocznie programiści nie uwzględnili tego żeby suma pkt za pytania była wystarczająca do zaliczenia egzaminu z pełnym wynikiem :D

WTF

edytowany 3x, ostatnio: Wheliee, 2019-06-13 21:00
Zupełnie jak wyniki wyborów prezydenckich w Rosji ;) - Sarrus 2019-06-13 21:04
Nie dostałeś wszystkich pytań (powinny być 32). Wykup pakiet premium :) https://www.word.waw.pl/egzaminy/teoria - Delor 2019-06-13 21:08
[email protected]@, nieźle, a już raz wpisywałem ten kod tam gdzieś na 90 dni co się dostaje od OSK, widocznie nie załapał. Potem bym poszedł na egzamin i się zdziwił że 32 pytania :D - Wheliee 2019-06-13 21:11

Pozostało 580 znaków

2019-06-15 07:20

Rejestracja: 1 rok temu

Ostatnio: 4 miesiące temu

Lokalizacja: Zielona Góra

1

Przychodzę sobie do nowej firmy w roli takiej devopsowej. Po czym zostaję scrum masterem :D
W sumie kod to taka kupa że może i lepiej....

Pokaż pozostałe 12 komentarzy
godzinka dziennie na refactor i będzie dobrze ;) jak nie, to godzinka+1 itd. - WeiXiao 2019-06-18 23:10
Pierwsza zasada kupowania akcji - jeśli jesteś zdolny do paniki, to nie kupuj w ogóle. - somekind 2019-06-18 23:10
@WeiXiao: Albo cały sprint haha Zadepczemy się w commitach - orchowskia 2019-06-18 23:14
@orchowskia: niestety zostałeś zaszeregowany jako pracownik drugiego sortu. Jeśli szybko nie uciekniesz to Ci tak zostanie (Ka-owiec, pracownik niby-IT). Inne tego typu role: support engineer (1st line), tester, product owner. W jednej z firm w której pracowałem to była oficjalna ścieżka kariery dla ludzi którzy słabo wypadli na interview na programistę. Nie pozwól żeby inni decydowali za Ciebie! - vpiotr 2019-07-05 11:32
@vpiotr: Dzięki za ten komentarz. To raczej nie ten przypadek, ale firma nie jest poważna i raczej nie skończy się wieloletnią współpracą, z resztą zobaczymy :) Jestem scrum masterem, zakontraktowany zostałem jako senior dev, a zatrudniony jako devops cokolwiek to znaczy. Jeszcze posiedzę i zobaczę jak się to rozwinie. Czuję że się się spełniam rozgryzając kolejne kawałki syfnego kodu, na serio sprawia mi to sporo frajdy :D Kontakt z amerykanami z kolei też sobie chwalę, angielski od dawna wymaga szlifów. - orchowskia 2019-07-05 20:28

Pozostało 580 znaków

2019-06-19 00:12

Rejestracja: 16 lat temu

Ostatnio: 6 godzin temu

3

Features that are removed or deprecated in Windows 10, version 1709

3D Builder app
No longer installed by default. Consider using Print 3D and Paint 3D in its place. However, 3D Builder is still available for download from the Windows Store.

‌·

Features removed or planned for replacement starting with Windows 10, version 1903

Print 3D app
Going forward, 3D Builder is the recommended 3D printing app. To 3D print objects on new Windows devices, customers must first install 3D Builder from the Store.

Biorą chyba przykład ze specyfikacji OpenGL jak się deprecjonuje ficzery :-)

Pozostało 580 znaków

2019-06-21 15:14
Moderator

Rejestracja: 13 lat temu

Ostatnio: 2 dni temu

Lokalizacja: Stacktrace

4

Mamy sobie fragmencik kodu:

Timex.parse("6/17/19 9:13", "{M}/{D}/{YY} {h24}:{m}")

Pytanie, jaki jest wynik? Oczywiście błąd:

{:error, "Expected `hour between 0 and 24` at line 1, column 9."}

ale, że jak? Ano tak, że biblioteka domyślnie traktuje {h24} jako zawsze dwuznakowy zapis godziny. A teraz najlepsze. Prawidłowy kod w tym przypadku to:

Timex.parse("6/17/19 9:13", "{M}/{D}/{YY} {_h24}:{m}")

tak z podkreśleniem na początku. Podkreśleniem, które w elixirze oznacza „olej mnie”. I na deser – jest jeszcze format {0h24}, który wymusza zero wiodące przy godzinach 0-9. I jak tu nie kochać konsekwencji elixirowców.

ps. zwróćcie uwagę na zapis miesiąca i dnia. Tam od ręki przyjmuje jednocyfrowe wartości i istnieje dodatkowa opcja {0M} i {0D}


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
edytowany 1x, ostatnio: Koziołek, 2019-06-21 16:13
Pokaż pozostałe 2 komentarze
@hauleth: niestety zależność ecto. @Sarrus, problem dodatkowy Timex nie ma dokumentacji. - Koziołek 2019-06-21 23:02
@Koziołek: Ecto nie wymaga Timeksa… a dokumentacja jest. - hauleth 2019-06-21 23:36
Teraz jeszcze pytanie czy miesiące/dni indeksują od 0 czy od 1... ;) chyba że to tylko w javie takie cuda - Shalom 2019-06-24 08:27
A widzisz, w Javie January to czasem 0 ale Sunday to już 1 -> https://docs.oracle.com/javas[...]ml#java.util.Calendar.JANUARY :D - Shalom 2019-06-24 10:03

Pozostało 580 znaków

Odpowiedz

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