re: Why Are Some Developers so Allergic to IDEs? VIEW POST

TOP OF THREAD FULL DISCUSSION
re: I used Eclipse, NetBeans and some form of IntelliJ. And I'm always coming back to a more simple editor like Atom or VSCode. I'm a web developer a...
 

I’m working always fullstack (no matter which stacks included), so often, I get to work with frontend (JS/TS/React or TS/Angular). I’ve worked in IntelliJ and VSCode, and I observed people working in IntelliJ and VSCode.

My three observations:

  • Manual import/export management in VSCode vs. automatic imports in IDE (expunging default exports fully contrary to community standard). Less time spent here.
  • Autocompletion in VSCode is dumber than autocompletion in IDE.
  • Refactorings in VSCode are almost non-existent and in IDE there are tons of them and they are safe (lead from GREEN test suite to GREEN test suite).

Now, you mentioned something about slow IDE. you probably didn’t increase the amount of RAM that you allow IDE to use. The default is just too small to index 20000+ npm packages and stay fast. I usually give 8-10GB to my IntelliJ Idea and it gives me back 5-10x boost of productivity because I rely on automated imports, smart completion, and refactorings all the time. Nice ROI. RAM is (supposed to be) cheap.

 

I just have 8GB in total on my machine.

point 1 and 2 work great for me also in VSCode with the right plugins.

I just type something and then press tab and it will be imported.

I'm working on nodejs code and the autocompletion is pretty great

I just type spa and I get spawn or spawnSync and then I press enter and it imports the right thing from 'child_process'.

I would rather say that your problem is that you are having one project with 20000+ npm packages. I try to keep my services small.

This also helps with refactoring.

So yeah maybe if you're working on one big monolith app with a lot of dependencies everywhere it makes sense.

So yeah if your refactoring this amount of dependencies then for me something else is not correctly setup but yeah. No judgment here just guessing.

I would rather say that your problem is that you are having one project with 20000+ npm packages. I try to keep my services small.

Welcome to frontend ;)

You can get these numbers just when you bootstrap a new empty codebase…

I’m not refactoring any of the NPM package dependencies. You’re too much focused on that. This is normal in frontend projects.

I’m talking about refactorings that I need to do in the normal course of the proper TDD workflow: write a failing test, make it pass with a simplest (but perhaps dirty) implementation, refactor to make the design cleaner, and then repeat over and over again.

It would be wonderful to be able to point to a YouTube (or Vimeo) video of half an hour of someone doing these amazing refactorings that one should do 20 times per hour as a part of normal development flow. It’s called continuous refactoring. But I don’t know of any at this moment. (maybe I should ask on Twitter if anybody has such a video)

Otherwise, it’s like we’re talking about different worlds.

I have 16GB on personal. And at work, I have 32GB. The cost of this RAM is much lower than the potential sacrifice of developer’s productivity.

I mean this are all valid points but at the end people are different. So if it works for you good more power to you.

I just like to think first about the how I will do stuff. Even on paper and then execute. So maybe that's why I like normal editors more.

And I do 7. A little bit less than you, I guess. In the past the proliferation of packages and dependencies was not as much…

That's true.

I also try to prevent to load to much packages. When I can I just take the one functionality it of the package and just put it into the project ;)

 

Not sure when you last tried it, but for me VSCode works very well in terms of TypeScript refactorings. And the autocompletion is great.
What specifically did you find lacking?
An example of a refactor would be perfect.

I will be honest, I don't understand the first point at all. What does "expunging default exports fully contrary to community standard" mean? There are automatic import features in VSCode, but I don't use them. I don't find that any sort of automatic import management to be a productivity improvement.

code of conduct - report abuse