5 ms·
I can see arguments either way. IDEs allow people to create complex code effortlessly so the resulting code tends to be more complex. Forcing developers to reme
by seti0Cha 4y ago
I can see arguments either way. IDEs allow people to create complex code effortlessly so the resulting code tends to be more complex. Forcing developers to remember names and file locations causes the developer to try and encapsulate the complexity so they don't have to remember as much. Also, I often need to read code outside of an IDE. If the code was written to be understood that way, it tends to be easier. If I'm going to be living in a single codebase for a long time, I love a good IDE. Having good refactoring tools is awesome. But I often jump around across many codebases across multiple languages and I appreciate if I can make sense of them without firing up some specialized tool.
- andirk 4y agoWhat situations do IDEs add a bunch of difficult to read code? Auto-adding lines of code for importing things, closing blocks, hints while typing are all pretty clean. I do, however, think Typescript adds a lot of LOC where it often seems unneeded for a responsible developer.
- seti0Cha 4y agoIt's not the IDE adds difficult to read code. It's that it makes it easy to write difficult to read code. This is particularly visible in the Java world. For example, the practice of dropping interfaces in front of everything never would have seemed reasonable if you didn't have an IDE that could do that with the click of a button, and the ability to quickly click through an interface to an implementation makes it relatively painless to work with. However, a person without access to an IDE is forced to use text searches to find implementations and has to keep in their head how all these interfaces and classes are organized. Similarly, IDEs make using complex method signatures tolerable with parameter hinting, makes finding method overrides trivial, and autocompletes all those long similar-sounding names like FooFactoryBuilderFacadeAdapter. In contrast, a developer writing code with a plain editor needs to remember everything and when that becomes difficult, the developer will be forced to either simplify things or encapsulate the complexity so they can forget about it. That code base will be easier to read without tooling because it was built to be understood that way. The developer also has to write each bit by hand, which gives time and motivation to wonder whether what they are writing is necessary. I could make a similar argument in the other direction as well. Code written by hand tends not to get refactored as much, tends to use too short variable names because of typing laziness, or inappropriate names because renaming variables is not trivial as it is in an IDE. I see the advantages of both, and I find myself preferring the sweet spot of intelligent editors that stop short of knowing everything about your code base.