HACKER Q&A
📣 Takizawamura

How should a person prioritize learning for IDE skills and components?


Day 1 with a new IDE at a new company. The scope of an IDE, such as by JetBrains, can be quite daunting. How should one go about prioritizing which IDE components & skills to learn? Anyone have any advice/ tips?


  👤 PaulHoule Accepted Answer ✓
Brands are dangerous. They cloud your mind.

Some fraction of the features in your IDE will work great with your code base, other ones won't. Don't think that "Eclipse" or "JetBrains" stands for consistent quality.

Thus you should ask yourself: what is your boggle? what's difficult that you need help with? don't believe that just because a feature exists in the menu that it is or is not worth using.

I find it challenging to navigate large code bases and I react to that like this: for everyday navigation ("I need to look at such and such class") develop a single strategy that's highly effective and use it consistently. Nothing is deadlier than scanning lots of tabs, getting distracted, scanning through whatever tools happen to be open at that moment, etc. Get in the habit of finding things through drilling down in the project view or looking them up in the search.

Try to use that one strategy as much as possible so you don't waste time choosing a strategy or scanning changing collections of whatever happens to be open. In that case you are using your mental capacity to pump out entropy and it wears you down and causes you to forget what you were doing.

Note that there is an exploratory function, and using features like "^B" in Jetbrains will help you find where something you are looking at is defined. Looking up references is highly useful, but if you know what class/function/whatever you are looking for don't follow chains that start with what's on your screen because you're pumping out entropy again.


👤 gjvc
1) navigation.

2) auto-completion.

3) auto-correction.(JetBrains calls them "intentions".)

4) refactoring (of which renaming is incredibly powerful, and one I once scoffed at before I understood how empowering it is to be able to reliably rename things across the board and have everything continue to work as before, without error. This reminds me, PyCharm still has problems with this. I must make a bug report.)


👤 ale_jacques
Use it, and they will come...