Diversity w polskim IT
Christopher Tran
Christopher TranTeam Lead / Front End Web Developer @ AiTmed

8 złych nawyków programisty JavaScript

Poznaj nawyki, które mogą sabotować Twoją przyszłość, jeśli jesteś początkującym lub średnio-zaawansowanym programistą JavaScript.
4.10.20196 min
8 złych nawyków programisty JavaScript

To naprawdę dobry czas, aby być programistą JavaScript, ponieważ to zawód coraz bardziej pożądany na rynku pracy. Szybkie i trafne release’y frameworków, bibliotek itp. sprawiają, że praca z tą technologią jest czystą przyjemnością - zwłaszcza, że większość z nich to open source. W miarę zagłębienia się w JavaScript, zaczyna on pochłaniać coraz bardziej.

Jest duża szansa, że zaczniesz poświęcać tyle energii na JavaScript, że może to z czasem spowodować katastrofę dla Ciebie i Twojej przyszłości. W przeszłości cierpiałem z powodu niektórych punktów, które wymieniam niżej w tym artykule, dlatego teraz moim celem jest powstrzymanie Cię od popełniania tych samych błędów.

Oto osiem nawyków programistów JavaScript, które sabotują ich przyszłość.

1. Używanie jQuery

jQuery odegrał ogromną rolę w rozwoju ekosystemu JavaScript.

Po pierwsze, JavaScript był początkowo używany do wyświetlania slajdów i nieskomplikowanych widżetów, takich jak selektory dat i galerie zdjęć, które pojawiały się na stronach. Występowały przy tym problemy związane z różnicami w zachowaniu na różnych przeglądarkach i jQuery pomógł obejść te różnice przez zaimplementowanie warstw abstrakcji, dzięki czemu rozwiązał typowe problemy, jak manipulacja DOM. Pomógł w uproszczeniu obsługi AJAX i rozwiązaniu problemów różnicami między przeglądarkami.

Chodzi jednak o to, że dziś te kwestie nie są już tak istotne jak wcześniej. Niektóre z najlepszych funkcji jQuery, takie jak pobieranie danych czy selektory, zostały ustandaryzowane w przeglądarkach.

Nowoczesne biblioteki, takie jak React, rozwiązują te same problemy, a dodatkowo radzą sobie z tym, z czym jQuery sobie nie radzi - np. zarządzanie stanem.

W jQuery robisz dziwne rzeczy, takie jak używanie elementów DOM, jako bieżącego stanu lub danych i pisanie niesamowicie skomplikowanego kodu, by sprawdzić jaki jest poprzedni, aktualny i kolejny stan DOM, a dodatkowo musisz zapewnić przejścia między tymi stanami.

Poczytaj o niektórych nowoczesnych alternatywach, takich jak React, Vue czy Angular i skorzystaj z tego, co oferują Twojej apce.

2. Brak ćwiczeń fizycznych

Nie jestem zawodowym trenerem ani nic nic z tych rzeczy, ale obserwowałem, jak moje ciało zmienia się przez lata i byłem żywym przykładem na to, do czego może dojść, jeśli zignorujesz swoje zdrowie. W ciągu jednego roku przytyłem około 15kg w wyniku nauki samego JavaScript. Jak do tego doszło? Jeśli nie ćwiczysz, ryzykujesz wieloma negatywnymi następstwami.

Niektóre z nich to:

  1. Zmiany w DNA poprzez modyfikację ekspresji genów
  2. Dodatkowe kalorie przekształcające się w tłuszcz
  3. Zwiększone ryzyko wystąpienia migreny (w tym przewlekłej)
  4. Wzrost ciśnienia krwi, ponieważ przyrost masy ciała może zacząć obciążać serce

Ta lista jest oczywiście zdecydowanie dłuższa, ale nie sposób teraz wszystkiego po kolei wymieniać.

3. Izolowanie się od innych

Twoja rodzina i bliscy są ważni. Kiedy izolujesz się od życia towarzyskiego podczas nauki programowania, osłabiasz swoje zdrowie psychiczne i fizyczne, prowadząc do zwiększonego ryzyka depresji i lęków, trudności ze snem, utraty masy ciała oraz uczucia zmęczenia lub braku motywacji.

4. Niepisanie testów

Często widzę, jak ludzie pomijają testy jednostkowe swoich aplikacji webowych i jest to ok - dopóki nieoczekiwany błąd nie spowoduje awarii aplikacji. Wtedy staje się to ogromnym problemem, ponieważ tracisz czas i często pieniądze.

To, że Twój kod dalej kompiluje się bez błędów lub aplikacja nie wyrzuca błędów w konsoli, niekoniecznie oznacza, że aplikacja jest już gotowa do formalnego użycia.

Brak jakichkolwiek testów może się sprawdzać przy małych aplikacjach, ale gdy ta powiększa się i staje się trudniejsza w utrzymaniu, testy stają się coraz ważniejsze, ponieważ wszelkie zmiany w istniejącym kodzie mogą uszkodzić inną część aplikacji.

Chcesz zaoszczędzić czasu w przyszłości dla dużych projektów? Nie pomijaj testów.

5. Uczenie się frameworków przez zrozumieniem JavaScriptu

Znam i rozumiem pokusę, aby od razu zacząć tworzyć aplikacje webowe przy użyciu popularnych React, Vue lub Angulara.

Kiedyś mówiłem „Naucz się JavaScript, zanim nauczysz się frameworków!”, Ale moja opinia nieco się zmieniła. Najlepszym rozwiązaniem jest poznawanie ich podczas nauki JavaScriptu. Ekosystem JavaScriptu rozwija się w niesamowitym tempie, a jeśli chcesz teraz sprzedać się na rynku, musisz mieć przynajmniej trochę doświadczenia w narzędziach takich jak React, Angular i Vue.

Wyszukałem przykładową ofertę pracy z hasłem JavaScript i oto pierwszy wynik, który się pojawił:

Opis stanowiska mówi, że wymagają doświadczenia w jQuery i JavaScript. Dla tej firmy jQuery jest równie ważny jak sam język.

Inny opis stanowiska wymaga następujących „podstawowych” wymagań:

Kliknąłem dwa z czterech ogłoszeń o pracę i połowa z nich wymagała nie tylko znajomości JavaScriptu, ale też znajomości dodatkowych narzędzi. Nie polecałbym jednak dzielić czasu na naukę języka i bibliotek po połowie. Ten stosunek powinien być bardziej zbliżony do 65% JavaScript i 35% na biblioteki czy frameworki.

Podział czasu w ten sposób pozwala nadal czerpać korzyści z nauki „prawdziwego” JavaScriptu, a także poznać popularne front-endowe frameworki, aby poszerzyć swoją wiedzę na temat tworzenia aplikacji webowych. 

Ale... co to znaczy poświęcić 65% swojej uwagi na naukę samego JavaScriptu, a 35% na resztę, od której chciałeś zacząć?

Tym, co pomogło mi w nauce JavaScriptu, było przeczytanie darmowego ebooka „You Don't Know JS” Kyle’a Simpsona i dawanie z siebie wszystkiego, aby pomyślnie przejść przez kursy kodowania online na FreeCodeCamp. Wykorzystujesz dwa sposoby uczenia się. Przypadkowe fragmenty książki Simpsona wciąż pojawiają się w mojej głowie. 

6. Niedbanie o pisanie czystego kodu

Pisanie czystego kodu to umiejętność, bez której programista nie powinien nazywać się profesjonalnym. Najlepiej rozpocząć naukę tego już na wczesnym etapie kariery. Im wcześniej zaczniesz, tym będzie Ci łatwiej.

Nauka pisania czystszego kodu to jedna z tych umiejętności, z których nabyciem nie należy czekać. Nie musisz osobiście doświadczać pisania brzydkiego kodu, aby poczuć na własnej skórze, co oznacza “brudny kod”. Twoje frustracje z tym związane pojawią się prędzej czy później, gdy będziesz mieć do czynienia z chaotycznym kodem innych koderów.

7. Podejmowanie się trudnych projektów zbyt wcześnie

Jednym z największych błędów, jakie popełniłem w mojej karierze, było rozpoczynanie pracy przy projektach, które miały być “duże”.

Zapytasz - co jest z tym nie tak?

Po pierwsze, jeśli nie jesteś midem lub seniorem, istnieje spora szansa, że nie będziesz w stanie szybko ukończyć tego „dużego” projektu. Jest to do naprawdę mocnego przemyślenia, zwłaszcza przy aplikacjach, które mają być naprawdę stabilne. Jeśli nie nabyłeś jeszcze solidnej praktyki pisania czystego kodu, pisania testów, skalowalnej architektury itp., czyli jeśli wciąż jesteś w początkowej fazie, chwytaj się mniej skomplikowanych przedswięwzięć.

Co się dzieje, gdy z juniora przechodzisz na mida i zdajesz sobie sprawę, że duża część kodu, który napisałeś kiedyś, musi zostać zmieniona, ponieważ aplikacja nie jest napisana poprawnie? Rynek pracy zaczyna być coraz bardziej nasycony midami, a Ty nie masz dobrych projektów do umieszczenia w swoim portfolio, ponieważ byłeś zbyt zajęty “tym dużym projektem”, który jakiś czas temu planowałeś. Zaczynasz się zastanawiać, czy warto go kontynuować, podczas gdy inni programiści błyszczą swoim doświadczeniem podczas rozmów kwalifikacyjnych. 

Osobiście polecam rozpocząć od szeregu małych projektów, które rzeczywiście dojdą do skutku i będzie je można wpisać w portfolio. Jak najszybciej coś tam zorganizuj, bo nigdy nie wiadomo, kiedy nadarzy się okazja zawodowa.

Kolejnym problemem związanym z podejmowaniem się dużych projektów zbyt wcześnie jest to, że jeśli nie potrafisz zastosować najlepszych praktyk i odpowiednich wzorców projektowych do budowania kolejnych funkcji aplikacji, po prostu skończysz pisząc dużo kodu, który będziesz musiał później przerobić lub porzucić w przyszłości. Wtedy szybciej będzie wszystko przepisać. Lub całkowicie zrezygnować z takiego projektu

8. Nieuczenie się struktur danych i algorytmów

Wybór idealnego momentu na to, żeby zacząć uczyć się o strukturach danych i algorytmach, nie jest taki oczywisty. Jedni polecają ich naukę przed rozpoczęciem nauki JavaScriptu, a niektórzy twierdzą, że lepiej zabrać się za nie później.

Osobiście uważam, że uczenie się ich nie jest tak naprawdę konieczne, ale dobrze jest zainteresować się algorytmami, aby mieć podstawową wiedzę na temat programów komputerowych i obliczeń. Algorytmy są ich integralną częścią. W rzeczywistości te programy komputerowe to tylko kilka algorytmów, które łączą się z niektórymi fantazyjnymi danymi strukturalnymi - ot, cała filozofia!

Podsumowanie

Mam nadzieję, że wyciągniesz z treści esencję dla siebie. Powodzenia w programowaniu!


Oryginał tekstu w języku angielskim przeczytasz tutaj.

<p>Loading...</p>