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

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ś…

Programowanie i WWW

Problemy z wydajnością to nie żart, nie?

Trudno dyskutować z tym, jak istotna jest kwestia wydajności w programowaniu. To często poruszany temat, mający wpływ na podejmowanie decyzji przy rozwoju oprogramowania oraz samym pisaniu kodu.…

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