Programowanie i WWW

Umarł VSC, niech żyje InteliJ!

W ciągu ostatnich długich miesięcy miałem okazję zaangażować się w dwa większe projekty o skali zbliżonej do największych, jakie realizowałem w ciągu ostatnich 10…

W ciągu ostatnich długich miesięcy miałem okazję zaangażować się w dwa większe projekty o skali zbliżonej do największych, jakie realizowałem w ciągu ostatnich 10 lat. Ponad 6 miesięcy oraz setki godzin developmentu doprowadziły mnie do punktu w którym wykupiłem licencję i zainstalowałem InteliJ. Czyli po kilku latach z VSC wróciłem do Jet Brains. Tylko dlaczego i czy to słuszny krok?

Jeszcze zanim zaczniemy, chciałbym nadać pewien kontekst. To co za chwilę przeczytasz to nie wyrok 😅. Mało tego nawet nie wiem czy mam rację, bo właśnie skończyłem wstępną konfigurację InteliJ oraz nie mam 100% pewności czy sposób wykorzystania przeze mnie VSC w pełni wyczerpuje jego możliwości, choć z czystym sumieniem mogę powiedzieć, że poświęcałem sporo uwagi na jego konfigurację. Mam przekonanie, że odpowiednia konfiguracja narzędzi z którymi pracujemy jest podstawą wybitnej efektywności oraz nawet satysfakcji.

W tym wszystkim chodzi o detale

W przypadku jednego z projektów wykorzystywaliśmy Vue 2 oraz Express.js na back-endzie. Dodatkowo back-end komunikuje się z drugą aplikacją. Wraz z upływem kolejnych tygodni, aplikacja rozrastała się, powstawały nowe komponenty i serwisy. Poziom interakcji pomiędzy nimi momentami wymagał ode mnie maksymalnego skupienia bo już logika biznesowa sama w sobie była skomplikowana a przeniesienie jej do aplikacji niczego nie ułatwiało.

Pomimo w mojej opinii solidnej architektury oraz konwencji nazw, których się trzymaliśmy, w pewnym momencie zaczęło to bardzo przytłaczać i zamiast skupić się na wdrażaniu logiki, marnowałem czas na próbie odnalezienia ścieżek, których nie widział VSC lub metod do których implementacji nie mogłem szybko się przenieść.

Pomimo szeregu rozszerzeń i ustawień, VSC ciągle gubił się w kodzie i miałem jasne sygnały, że "nie ma pojęcia" co właśnie próbuję zrobić.

Swoją drogą TabNine czasem robił lepszą robotę niż VSC i to akurat mogę bardzo polecić.

W każdym razie traciłem na tym etapie nie tylko czas, ale również uwagę i masę energii! A zobaczyłem to dopiero w chwili gdy na Zoomie, Michał z którym rozwijam tę aplikację, nawigował po kodzie.

Wtedy przypomniałem sobie jak to dobrze było mi z InteliJ.

Błędy których można było uniknąć

Ponownie dopiero w ostatnich tygodniach zauważyłem jak wiele błędów, które podkreślał mi Michał przeglądając moje commity, mogło być wyłapanych na wczesnym etapie, gdyby VSC rozumiał kod nieco lepiej.

Niektóre z nich wynikały z problemów z refaktoryzacją, której również zupełnie nie można porównywać w VSC vs. InteliJ.

Popełniałem również prostsze błędy, które nie przenikały do aplikacji ale marnowały mój czas. Np. po pobraniu zmian, pomimo jasnej informacji z gita, o "breaking changes", zapominałem zainstalować nowe zależności a nie zawsze sygnały o ich braku docierały do mnie od razu. W ten sposób marnowałem czas na debugowanie, podczas gdy InteliJ sam wykrywa zmiany w package.json i jasno nas o nich informuje.

Takich detali jest więcej i stopniowo zaczynałem rozumieć, dlaczego na każdym kickoffie Michał pytał mnie czy już wykupiłem licencję.

Wymieniając pierwsze z brzegu: praca z gitem, historia zmian, refaktoryzacja, praca z bazą danych (w tym przypadku mySQL) – praktycznie wszystko to można osiągnąć w VSC, jednak już pierwsze godziny pracy w InteliJ, pokazują mi jasno że to nie to samo.

Dlaczego VSC i dlaczego dopiero teraz zdecydowałem się na InteliJ?

W momencie gdy przechodziłem z WebStorm na VSC kontekst był nieco inny. Pracowałem na innych projektach, innej skali a WS w porównaniu do VSC wypadał miejscami słabo. W ciągu kolejnych lat sytuacja zaczęła się mocno zmieniać i w mojej opinii aktualnie JetBrains po prostu zrobiło swoją robotę.

Drugim istotnym aspektem był fakt, że nagrywam mnóstwo materiałów wideo i możliwość skalowania interfejsu w WS była niesamowicie zbugowana. Teraz tego problemu już nie ma i tym samym dla mnie padł ostatni bastion VSC.

A może jestem w błędzie?

No właśnie! Jeżeli masz stosunkowo świeże porównanie VSC vs. IDE od JetBrains i nie zgadzasz się z tym, co napisałem wyżej, daj mi proszę znać. Chętnie zobaczę czy moje obserwacje są słuszne czy może po prostu brakuje mi wiedzy z zakresu konfiguracji VSC.

Z pewnością o moich wrażeniach z wykorzystania InteliJ będę jeszcze pisał. Na ten moment chciałem jeszcze podkreślić, że wybór IDE mocno zależy od naszego kontekstu oraz projektów z którymi pracujemy.

Ten wpis nie miał na celu bezpośredniej krytyki VSC tylko przedstawienia moich obserwacji. Przykładowo wyobrażam sobie że w niektórych sytuacjach korzystanie z Sublime Text 4 może być w pełni wystarczające. W innych sytuacjach VSC również świetnie się sprawdzi.

Natomiast jeżeli pracujesz przy nieco większych projektach wykorzystujących nowoczesne stacki, to wziąłbym na poważnie powyższe słowa i przynajmniej sprawdził czy mają one realne przełożenie na Twój kontekst.

Lista linków z Newslettera:

Cyfrowe notatki na zupełnie nowym poziomie



Wyobraź sobie że jesteś w stanie pisząc na iPadzie z pomocą Apple Pencil, jednym kliknięciem zamienić tekst napisany odręcznie na maszynowy. Mało tego aplikacja wspiera język polski i momentami jest w stanie odczytać mój charakter pisma lepiej ode mnie (a wcale nie jest to łatwe! 🙈)

AI, które realnie pomaga w pisaniu



Conversion.ai to jedno z pierwszych narzędzi opartych o AI, które realnie pomaga mi w codziennej pracy, niejednokrotnie zaskakując mnie swoją skutecznością.

undefined vs null – po raz kolejny



Jeden z najlepszych blogów w temacie JavaScriptu rozkłada na atomy różnice pomiędzy undefined a null w JavaScripcie. Totalny „must read”!

Typowanie funkcji w TypeScript



W tym wpisie Kent C. Dodds w zasadzie wyczerpuje temat typowania funkcji w oparciu o bardzo proste przykłady, które jednocześnie łatwo przełożyć na praktyczne wykorzystanie.

UDOSTĘPNIJ ARTYKUŁ:

Powiązane artykuły

Programowanie i WWW

Tailwind to rewolucja, jeśli…

Tailwind CSS na przełomie ostatniego roku zdobywa coraz większą popularność. W dużym stopniu jest to w pełni zasłużone. Projektowanie interfejsów z jego pomocą jest wygodne. W dodatku…

Programowanie i WWW

Proces rekrutacji w IT z różnych perspektyw

Podczas ostatnich konsultacji Full-Stack Dev Q&A padło kilka pytań o proces rekrutacyjny. Ze względu na pozytywny feedback oraz zwrócenie uwagi na istotę tego tematu, pomyślałem że zbiorę…

Programowanie i WWW

„Coś poszło nie tak”, czyli obsługa błędów na kolanie

Błędy się zdarzają. Każdemu. I podczas gdy te dotyczące logiki biznesowej lub stabilności aplikacji możemy eliminować, tak tych związanych z interakcją użytkownika nie powinniśmy ignorować. Z jakiegoś…

Pozostań na bieżąco!

Już nigdy nie przegapisz ważnych informacji, promocji oraz nowych kursów. Zapisz się na newsletter już teraz!

Zapisując się do newslettera akceptujesz naszą politykę prywatności