Heh, yes. You're right, in large parts. I agree wholeheartedly that it is really necessary to plan before you code. And while you code. And after you have coded, and while you're testing.
However, I am developing an application right now that has several hundred classes in several dozen packages, each of these classes having dozens of methods, and the development started 1999 (and stopped 2002, actually, but there's more and more features that people request, and since it's an in-house and rewarding tool we have a monopoly on, we keep developing what the users request).
While I know the structure of "my" part of that code, and I know what I intend to do, sometimes I just don't know if I implemented a function that returns, say, something the other class has a pointer to. So basically I don't know if I have to call myVariable.getOtherClass().getOthersElementList().get(i) and cast it or if I simply can call myVariable.getOtherClassesElement(i). In such cases, having the code pop up is a tremendous help.
And I have to admit I have not always kept to the same strict naming schemes, and refactored some stuff in the meantime, so sometimes I just don't remember how a particular function was called, just that I know the reference I'm looking for has to be in that structure somewhere. Still planned, and way faster than if I have to look at the JavaDoc.
Also, when I know that function I am looking for is in the API somewhere (like, parsing a String into an int (which is a stupid example because I know that by heart by now)), and I can guess what class it is, I can either go into my browser, look up the API documentation and read the information there, or I can simply pop up the classe's functions in my IDE and look at the JavaDoc in there.
I guess as every tool, it can help, and it can harm. It depends on what you make of it...
haslo@haslo.ch - www.haslo.ch