Przewiń do treści 

Mam nierówno pod sufitem

Opublikowany:
Autor:
Comandeer
Kategorie:
Refleksje
Daj się poznać 2017

Z ciekawości przeglądnąłem sobie ostatnio statystyki WebKrytyka (by sprawdzić, czy nowy agregator treści przyniósł trochę ruchu) i zauważyłem, że ostatnio wpadło mi trochę ruchu z Wykopu. Poszukałem skąd dokładnie pochodzi ten przypływ użytkowników i znalazłem wątek dotyczący kursów Mirosława Zelenta. Cóż, od pewnych rzeczy – jak widać – nie sposób się uwolnić.

Nigdy nie sądziłem, że napisanie krytyki tych kursów (zresztą podobnie jak artykułu o Angularze) zapewni mi stały napływ ruchu przez najbliższe lata. Wciąż najwięcej odwiedzających mam właśnie z powodu tych artykułów. I za każdym razem natykam się na pewnego rodzaju ścianę. I zawsze jest to ta sama ściana: “te kursy są dobre, bo dobrze wprowadzają do tematu”. Nie inaczej było i w tej dyskusji:

jejku, ten komentarz to jakaś totalna porażka. Jak można przyczepiać się do wszystkiego. Jest oczywistym, że poradniki Zelenta, to nie jakieś sprawdzone wzorce projektowe gotowe do wykorzystania, tylko coś co ma wprowadzić nas w dane zagadnienie (w tym przypadku front-end) i przy tym nie zniechęcić na starcie.
Mam wrażenie, że wszyscy krytycy mają nie równo pod sufitem. Elo.

Pomijam już fakt, że po raz kolejny okazuję się wariatem, który ma “nierówno pod sufitem”, bo to akurat norma w tych dyskusjach (nie zliczę, ile pod rzeczonymi artykułami usunąłem tego typu komentarzy…). Bardziej mnie ciekawi to niesamowite przeświadczenie, że jeśli coś jest dla początkujących, to może być całkowicie bylejakie, szerzące dezinformację i najzwyczajniej w świecie szkodliwe. A zjawisko dziwnej pobłażliwości dla tego typu kursów tylko tę szkodliwość potęguje.

Tak, powtórzę to raz jeszcze: BEZREFLEKSYJNE PRZYZWOLENIE NA NIEŚCISŁOŚCI MERYTORYCZNE W KURSACH PRZEZNACZONYCH DLA POCZĄTKUJĄCYCH JEST SZKODLIWE DLA SIECI!!!

Przykładów tej szkodliwości za długo szukać nie trzeba. Wystarczy przyjrzeć się 4. odcinkowi kursu HTML, poświęconemu automatycznemu przewijaniu strony. Znajduje się w nim taki kod JS:

jQuery(function($)
		{
			//zresetuj scrolla
			$.scrollTo(0);

			$('#link1').click(function() { $.scrollTo($('#budowacrt'), 500); });
			$('#link2').click(function() { $.scrollTo($('#zasadacrt'), 500); });
			$('#link3').click(function() { $.scrollTo($('#maskicrt'), 500); });
			$('#link4').click(function() { $.scrollTo($('#wadyzaletycrt'), 500); });
			$('#link5').click(function() { $.scrollTo($('#parametrycrt'), 500); });
			$('#link6').click(function() { $.scrollTo($('#budowalcd'), 500); });
			$('#link7').click(function() { $.scrollTo($('#zasadalcd'), 500); });
			$('#link8').click(function() { $.scrollTo($('#matrycelcd'), 500); });
			$('#link9').click(function() { $.scrollTo($('#wadyzaletylcd'), 500); });
			$('#link10').click(function() { $.scrollTo($('#parametrylcd'), 500); });
			$('#link11').click(function() { $.scrollTo($('#dsub'), 500); });
			$('#link12').click(function() { $.scrollTo($('#dvi'), 500); });
			$('#link13').click(function() { $.scrollTo($('#hdmi'), 500); });
			$('#link14').click(function() { $.scrollTo($('#przyszlosc'), 500); });
			$('#link15').click(function() { $.scrollTo($('#zrodla'), 500); });

			$('.scrollup').click(function() { $.scrollTo($('body'), 1000); });
		}
		);

Ten skrypt jest wręcz zbrodnią – zarówno jeśli chodzi o UX strony, jak i o sposób pisania kodu. Pominę już fakt, że wszystkie te wywołania $.fn.click można było zastąpić przez:

$( '#spis a' ).click( function( evt ) {
  $.scrollTo( $( evt.target.getAttribute( 'href' ) ), 500 );
} );

Wystarczyło zrobić poprawne linki w menu. Gorsze są 2 pierwsze linijki:

//zresetuj scrolla
$.scrollTo(0);

Te dwie linijki ZABIJAJĄ jakikolwiek sens istnienia przycisku “Wstecz” w przeglądarce, wymuszając przy każdym wczytaniu czy odświeżeniu strony przewinięcie jej na samą górę. Wyobraźmy sobie sytuację, że przeglądamy listę tysiąca najlepszych sosów w historii i zainteresował nas jakiś na pozycji 778. Klikamy na niego i w tej samej karcie przeglądarki wczytuje nam się strona z tym sosem. Po zapoznaniu się z nim klikamy “Wstecz”, by powrócić do długiej listy i… zostajemy przeniesieni na samą górę strony. Na miejscu webmastera wynająłbym ochronę, bo myślę, że nie byłbym jedynym, który miałby ochotę mu połamać wszystkie palce po kolei.

I takie praktyki, stanowiące książkowy antyprzykład tworzenia zarówno łatwego w utrzymaniu kodu jak i przyjaznej użytkownikowi strony, są propagowane w polskiej Sieci. Co więcej: istnieje ciche przyzwolenie na to, a każdego, kto się ośmieli to skrytykować, wyzywa się od wariatów i męskiego narządu płciowego. Więc się pytam: czemu jako społeczność webdevowa nie tylko po cichu przyzwalamy na patologię, lecz wręcz oczerniamy tych, którzy tę patologię próbują zwalczać merytoryczną krytyką?

Powtórzę to, co powtarzałem wielokrotnie: nie mam nic do sposobu prowadzenia kursów Mirosława Zelenta. Ba, sam przyznałem w krytyce, że miło się go słucha (więc nie, panie stranger13, nie przyczepiłem się do wszystkiego)… tylko, że tego typu dwie linijki sprawiają, że nie mogę takich kursów polecić. Co więcej, jako siedzący w tym nieco, odczuwam moralny obowiązek piętnowania tego typu praktyk.

I nie, powtarzanie jak mantry argumentu, że “początkujący sięgną do innych źródeł w celu weryfikacji” nie sprawi, że ta bujda stanie się prawdą. Nie sięgają i efekty tego doskonale widać po stronach prezentowanych np. na grupach dla początkujących czy forach dyskusyjnych.

Może i mam nierówno pod sufitem, ale na przyzwolenie na gwałcenie dobrych praktyk w kursach nigdy się nie zgodzę.

Komentarze

Przejdź do komentarzy bezpośrednio na Githubie.

Dawne komentarze

Ten blog wcześniej korzystał z systemu komentarzy Disqus. Jednakże pożegnaliśmy się i postanowiłem, że zaimportuję do nowej wersji stare komentarze z niego. Cóż, jego system eksportu na wiele nie pozwala…

  1. Opublikowany:
    Autor:
    kklimczak

    Zauważyłem, że ludziom co raz bardziej się nie chce, wolą rzeczy podane na tacy, w prosty sposób, brakuje im takiego dociekania pewnych kwestii, dlaczego to tak działa, dlaczego tak a nie inaczej itp.
    Drugim elementem jest polska produkcja tych filmów, Polak będzie bronił swoich treści, odbijając piłeczkę w dość prostacki sposób, nie weryfikując treści, których broni. Wiele razy zdarzało mi się, że treść artykułu była moim rozwiązaniem, lecz nie do końca prawidłowym. Dlatego zawsze trzeba znaleźć punkt odniesienia, kilka wzorców lub nawet samemu coś wymyśleć (to tak można!?).
    Dlatego czasami warto coś samemu zweryfikować, bo inaczej autor bloga kolokwialnie mówiąc Was wyjaśni. ;)

  2. Opublikowany:
    Autor:
    bartek_kwapisz

    Trudno mi jednoznacznie ocenić kursy Pana Zelenta. Z jednej strony zaraz po jego kursie JS zacząłem sam pisać, z drugiej złapałem kilka niezbyt dobrych nawyków, które musiałem korygować. Użycie podstawowych środków, ma zachęcić do dalszej nauki. Tylko potem zniechęca zbieranie cięgów za np. nieoddzielenie treści od wyglądu. Chyba dobrze, że to jest w Internecie, choć to trochę takie w3schools YouTube'a.

  3. Opublikowany:
    Autor:
    robertorlinski

    Ciekawy artykuł :)

    Dziwi mnie tylko fakt, że Mirosław Zelent nie wykazuje żadnej inicjatywy aby się przyznać do błędu oraz go poprawić, chociażby adnotacją na filmie. Takie rzeczy jak podany w poście kod odpowiedzialny za przewijanie strony, w mojej opinii jeszcze można wybaczyć (chociaż nic nie stoi na przeszkodzie, aby dać inny, np. pokazany przez Tomasza), ale po co specjalnie dodawać część, która z pozoru nie jest do niczego potrzebna, a tak naprawdę poważnie szkodzi? Nie rozumiem :/

    1. Opublikowany:
      Autor:
      soanvig

      https://forum.pasja-informa...

      Tu się nam udało go do tego zmusić. Do dzisiaj to najpotężniejszy wątek na jego (byłym jego) forum.