I love ReSharper. It makes life in Visual Studio such a breeze. You are just so productive in it, with all of its navigation tools, code completion and automatic refactorings. I tried to use Visual Studio without ReSharper the other day - it was so impeded that I swapped computers after about 5 minutes work (mind you - when I swapped, I redid the work in about 30sec).
But, sometimes I think ReSharper makes you, the developer, dumber. Or maybe not so much dumber, but definitely less in control of the code, and therefore makes the code wild and messy.
Before I used ReSharper, I had quite a lot of information about the code base in my head. I knew how classes connected, which files and namespaces they belonged to, what the model looked like. A file rarely got too long, because that would mean I would have to scroll through the file to look for my desired class. If something had changed within a class, like the addition of new methods, I would recognize it quickly regardless of whether it was in the code path I was following.
Now, I only find new features when I actively look for them. I find files that are quite long because I never look at the whole file, only the method that ReSharper brought me to when I used it to navigate a code path. I can’t describe how the classes are connected, what namespace or class individual methods are in. And the reason - because I gave ReSharper the power. I stopped being in charge of the code. I stopped inspecting the code base.
Are we too becoming lazy? Are we reverting back into old, bad practices because ReSharper makes it just so darn easy to use? Are we becoming dumber?