| It seems like the author understands, or perhaps his criteria is based on, only a thin layer of what an IDE can provide. Here's the highlights: - Data flow to/from here (where did the value of this variable come from/go to) - Call hierarchy (up and down) - Class hierarchy (up and down) - Class structure (including all inherited fields, methods) - Checking your code against an actual database schema, perhaps one automatically launched in a Docker container - Automatic refactoring of various kinds (rename, extract variable, extract method, inline method, extract interface, add/remove parameters, etc.) - Build tool dependency tree inspection with filtering etc. - Inspect code for a huge variety of potential code quality issues, with highlighting and auto-resolutions available - Locate duplicate code, and automatically refactor it out - Detect likely problems with nullity - Easily navigate to lines of code in an exception call stack - Analyze dependencies across classes & packages, detect cyclical dependencies - Debugging, including watch windows and conditional breakpoints of various kinds - Helpful tools for a variety of programming frameworks such as Spring - Integration with git so you can view history, diffs, etc. - WYSIWYG style rendering for stuff like Markdown - Easily navigate to any class, including classes that come from your dependencies (for example I've worked with plenty of people who had no idea how to figure out how Rails worked if it wasn't in the documentation, because they didn't use an IDE which allowed them to easily browse the code) Personally, all of that is just a huge amount of value. |