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?
Sarah,
ReSharper is a refactoring tool, not a developer, not even a pair programmer. Even if you don’t use ReSharper and hold on to the standard refactoring tools provided by Visual Studio, or even if you don’t even use them, you’re still responsible for your code, no? But even with such a tool, it’s up to the developer to output high quality code. I can hand you a Mont Blanc pen, but if your handwriting isn’t very ‘readable’, would you blame the maker of the pen if I can’t read your writing?
On the other hand, I share with you the same feeling of NOT having ReSharper installed and ready to use in a development workstation. It reminds me of the first time I had Orea cookies with milk…I’ll never go back eating them alone.
I cannot really judge about reshaper because I only used it several times. But from what I’ve seen its features seem to be somewhat similar to those in IntelliJ which I use a lot. I also found that using powerful tool affects the way I code. For me it’s the ease of refactorings that makes me do them without thorough thinking or just to see what the result might look like. The other thing is that powerful IDE features make me feel like I can have dirty design and still get away with safe refactorings. I don’t feel that cool features affect my knowledge of code and class/package dependencies, though. Watching dependencies in IntelliJ is a lot of fun with Dependencies Structure Matrix