Coding Without Resharper

Thursday, September 03, 2009 9:48 PM

Davy Brion asked if his readers could go back to not using Resharper.  Sadly, I don't have to imagine this.  I deal with this on a regular basis.

You see, although my firm has enough Resharper licences to go around, many developers just plain don't like it.  The objection is simple: it slows up the dev environment.  This isn't an idle objection either: the slowdown is real.  I think we'll probably have to wait for VS2010's new extension model to see a proper fix for this.

However, personally I think the performance cost is incredibly worth it, because it saves my cycles even if it doesn't save the processor's cycles.  Little things that I use all the time:

  • Generate a field from a constructor parameter.  (Alt-Enter Enter)
  • Generate a property from a field.  (Alt-Enter Enter)
  • Automatically add a new interface method to an implementation.  (Alt-Enter Enter)
  • Find Usages (Shift-F12)
  • Find current file in solution explorer (Alt-Shift-L)
  • Implement Interface (Alt-Enter Enter)
  • Generate Method Stub (Alt-Enter Enter)
  • Add parameter to function when you changed a call to it.  (You guessed it: Alt-Enter Enter)

That's without mentioning the "Automatically Add Namespace" feature.  (Alt-Enter Enter or just click on the tool-tip.)  This single feature probably saves a good five to ten minutes when dealing with an unfamiliar code base.  Just try grabbing most of the code samples from blogs and getting them to compile without this feature.

Before Resharper, one of my big secrets as a developer was that I could remember a lot of the mechanical edits I needed to make to effect a change.  Now, I spend more of my time thinking about what my code actually does, rather than how to wire it up correctly.

So, what's it like without Resharper?  In a word, mechanical.  Code just gets stuck together slower.  You find yourself constantly writing bottom up code to help out intellisense.  Until you can't remember what namespace a type is in.  At which point you spend your time guessing and googling something that would take would have taken under a second to correct with R#.

Now, if only they could fix that really annoying hang when you first delete a file...

Technorati Tags:
Comments
Gravatar
# re: Coding Without Resharper
Posted by Daniel Hölbling on 9/23/2009 10:14 PM
Maybe you just need beefier machines.
Resharper 4.5 runs great on my Laptop and on my Desktop.
I admit they both are quite powerful, but even on the Laptop I see no performance penalty in running R# at all.

And you are totally right, I can't imagine going back to a time without R#. Whenever I get to a new machine I feel set back into the stone age when trying to write some code.
There are just so many things that I simply don't think about any more.
Also I really like ALT+INS, CRLT+ALT+F (Reformat code) .. etc..

Another thing that R# changed is the way I create new classes.
Before I would go to the Menu with File->New .. now I open some class in that Namespace, invoke the class Live Macro and then hit "Move to another file with this classname.. " It's just magic. Using those dreadful File-New dialogs has become a thing of the past to me.

greetings Daniel
Gravatar
# re: Coding Without Resharper
Posted by Julian on 10/26/2009 2:37 PM
Heh, I do the exact same thing to create a class. It's much faster to just get typing and worry about file creation later. Particularly when you spend a while deciding on the name of the class...

And no, I doubt I need a beefier machine (although others in my teams may). I kid you not, I'm running a quad-core Xeon here. It may be a function of my solution size, though. There are solutions here that run to forty projects. As far as I can tell, when you delete a file, it parses the entire solution to see if there are any side-effects. I imagine some of these things will be fixed by VS2010's new code model.
Something to add?

Talking sense? Talking rubbish? Something I'm missing? Let me know!

Fields denoted with a "*" are required.

 (will not be displayed)

 
Please add 8 and 2 and type the answer here:

Preview Your Comment