Zastanawia mnie czy przeglądanie kodu JS na jakiejś stronie ma w ogóle sens? Bo tak sobie spojrzałem w bebechy jakiejś strony z ciekawości, ale to co zobaczyłem, choć niewątpliwie coś robi - to za cholerę nie idzie się doczytać o co chodzi. Wszystkie nazwy zamienione na a, b, c i inne krótkie aliasy, co chwila redefiniowane na coś innego. No ogólnie jest over 20k linijek w czytelnej dla człowieka formie i wygląda to jakby ktoś zmielił g---o w maszynce do mięsa.
Jak rozumiem to są głównie jakieś biblioteczne funkcje (chyba jQuery tutaj widzę)? To jest w ogóle oryginalny kod tylko z przerobionymi nazwami zmiennych na krótsze i usuniętymi białymi znakami, czy został w jakiś sposób skompilowany do takiej niezbyt ładnej postaci? Wygląda to dosyć makabrycznie szczerze powiedziawszy, jeszcze gorzej od C++ hieroglifów jakie mam na co dzień przed oczami.
@ghostface: Tyle to ja się domyśliłem. Ewidentnie nazwy funkcji i zmiennych są zmienione na pojedyncze literki, bo interpreter ma to w dupie. Tak samo były wywalone białe znaki.
Mnie zastanawia przede wszystkim treść tego, która jest mało czytelna z natury - czy ona była modyfikowana przez jakieś kompilowanie.
Widzę jeszcze jakieś straszne operatory typu === i masę innych odpychających rzeczy (ale to chyba akurat cecha języka). Może faktycznie ten kod
i masę innych odpychających rzeczy (ale to chyba akurat cecha języka)
kod wyglada w miare (jak na ES5, w ktorum juz malo kto pisze) i jest calkiem niezle sformatowany, gdyby nie podmienione nazwy funkcji i zmiennych to mysle, ze daloby sie to po ludzku przeczytac
@grap32: @paziu: naprawdę ludzie są w stanie takie luźno typowane g---o mające 20k linijek czytać i nie zwariować przy tym? xD Ja nawet nie wiem co tam jest co i czego funkcje miałyby się spodziewać.
@Veni: Już zgooglowałem, bodaj porównuje typy razem z zawartością bodaj a nie samą zawartość. My w silnie typowanych językach takich problemów nie mamy xD
@Veni: Ten co pisze wie co pisze. Ale zapewne musi być świetnie czytać cudzy kod nie mając wiedzy autora na temat tego co wepchnął gdzie i dlaczego ( ͡°͜ʖ͡°) To już w silnie typowanych językach często jest trudne aby ogarnąć co autor miał na myśli.
@Khaine: Dlatego tworząc kod nazywa się rozsądnie zmienne, a w razie wątpliwości dodaje komentarze. Beznadziejny kod można stworzyć w każdej technologii i to czy ma ona silne typowanie nie ma znaczenia.
@Khaine: silne porownanie wystepuje bodaj tylko w JS, PHP i podobno w swifcie. == rodzi w JS/PHP tyle problemow i unexpected behavior, ze az szkoda pisac. dlatego wszystkie coding style guides zalecaja uzywanie ===
@Veni: Trochę ma, sama nazwa typu pozwala się pewnych rzeczy domyślać bez komentarzy. Ponadto kompilator pilnuje czy nie robisz jakichś oczywistych idiotyzmów typu porównanie inta do stringa bez jawnego rzutowania, a tutaj może się łatwo wymsknąć ( ͡º͜ʖ͡º) Kaczka ci gdzieś zamiauczy, nie zauważysz i będą jaja.
@paziu: Toż to jakaś bzdura. Nie ma żadnego przymusu stosowania operatora identyczności, czy też nie jest to jakieś bardziej zalecane postępowanie. Jest to operator, który ma konkretne zadanie, sprawdzić zarówno typ zmiennej jak i jej wartość. Jeżeli natomiast wystarczy Ci zgodność między samymi wartościami to wcale nie musisz tego stosować. Co do tego mema to już tyle razy tu się przewijał, że nawet już się nie odniosę do tego. Większość
@Khaine: > Widzę jeszcze jakieś straszne operatory typu === i masę innych odpychających rzeczy (ale to chyba akurat cecha języka) Podaj tą masę. Ten kod jest tylko transpilowany i minifikowany
@Khaine: zdajesz sobie sprawę, że nie piszę się tego w jednym pliku? W ES5 osobny moduły wg. wzorca Revealing Module Pattern na przykład. To jest tylko wynikowy plik, możliwe, że nawet zewnętrzne liby wrzucili to jednego pliku stąd długość.
#zwiazki #film #filmnawieczor Polecicie jakiś film do obejrzenia z panną? Coś zmysłowego, z nutką erotyki i dobrze by było aby nie był to gniot w atylu greja czy 365 dni.
Zastanawia mnie czy przeglądanie kodu JS na jakiejś stronie ma w ogóle sens? Bo tak sobie spojrzałem w bebechy jakiejś strony z ciekawości, ale to co zobaczyłem, choć niewątpliwie coś robi - to za cholerę nie idzie się doczytać o co chodzi. Wszystkie nazwy zamienione na a, b, c i inne krótkie aliasy, co chwila redefiniowane na coś innego. No ogólnie jest over 20k linijek w czytelnej dla człowieka formie i wygląda to jakby ktoś zmielił g---o w maszynce do mięsa.
Jak rozumiem to są głównie jakieś biblioteczne funkcje (chyba jQuery tutaj widzę)? To jest w ogóle oryginalny kod tylko z przerobionymi nazwami zmiennych na krótsze i usuniętymi białymi znakami, czy został w jakiś sposób skompilowany do takiej niezbyt ładnej postaci? Wygląda to dosyć makabrycznie szczerze powiedziawszy, jeszcze gorzej od C++ hieroglifów jakie mam na co dzień przed oczami.
źródło: comment_zstdab8O5xGzP85jdAQVZ35wsspQtyp9.jpg
Pobierzhttps://en.wikipedia.org/wiki/Minification_(programming)
Robi się to progamami typu
uglify-esMnie zastanawia przede wszystkim treść tego, która jest mało czytelna z natury - czy ona była modyfikowana przez jakieś kompilowanie.
Widzę jeszcze jakieś straszne operatory typu === i masę innych odpychających rzeczy (ale to chyba akurat cecha języka). Może faktycznie ten kod
@Khaine: Zapewne Babel - transpiler - który modifykuje kod ES6 tak żeby działał poprawnie w starszych przeglądarkach.
Do tego Webpack - bundler - który to łączy pojedyncze pliki js w jeden pakiet, w wielkim skrócie oczywiście.
witam w webdevie
kod wyglada w miare (jak na ES5, w ktorum juz malo kto pisze) i jest calkiem niezle sformatowany, gdyby nie podmienione nazwy funkcji i zmiennych to mysle, ze daloby sie to po ludzku przeczytac
Komentarz usunięty przez autora
@Veni: Już zgooglowałem, bodaj porównuje typy razem z zawartością bodaj a nie samą zawartość. My w silnie typowanych językach takich problemów nie mamy xD
==rodzi w JS/PHP tyle problemow i unexpected behavior, ze az szkoda pisac. dlatego wszystkie coding style guides zalecaja uzywanie===źródło: comment_464lDRZZyUysQy48wB4KDeLEyYbjf589.jpg
Pobierz@Veni: Trochę ma, sama nazwa typu pozwala się pewnych rzeczy domyślać bez komentarzy. Ponadto kompilator pilnuje czy nie robisz jakichś oczywistych idiotyzmów typu porównanie inta do stringa bez jawnego rzutowania, a tutaj może się łatwo wymsknąć ( ͡º ͜ʖ͡º) Kaczka ci gdzieś zamiauczy, nie zauważysz i będą jaja.
Podaj tą masę.
Ten kod jest tylko transpilowany i minifikowany