Review: Follow-Up Notes on ReSharper and .NET Refactor | John Papa

John Papa

Evangelist on the loose

Review: Follow-Up Notes on ReSharper and .NET Refactor

...

As I mentioned in a blog last week, I downloaded two refactoring tools: .NET Refactor and ReSharper. I had some really horrible experiences with refactoring tools in the past, so I was a bit skeptical going in. It has been a week so here are a few more thoughts about the tools.

While .NET Refactor has some nice features, like the how it can move code into regions for you and how it creates a list of regions you can choose form, I found that it just did not have enough features to really make me want or need to use it. In fact, I have uninstalled it already.

ReSharper has a much more robust feature set and for the first time ever, I am glad that a tool prompts me with occasional tips. I did not know any of the shortcuts that it offers, so the tips have been nice since I did not read the help file. I especially love the Find Usages feature. I click on a variable and it finds every place that it is used. This past week I was tasked with renaming a class. I used ReSharper’s Find Usages feature to find all locations that it was used before I went ahead with the refactoring. It was smart enough to find out that it implemented an interface and it asked me if I wanted to find usages of the interface too. Very helpful, indeed! It sure is nice to see where something is used before making a refactoring decision. Measure twice, cut once. I then asked it to rename the class and it went and did so everywhere it was referenced. Since this was used in 7 projects across a solution, this was nice time saver. I especially like how ReSharper analyzes and highlights my code files in places where I have invalid references, redundant “using” statements, and methods which are not called by anything. This tool has saved me a lot of time and pro-actively prevented bugs.

Sounds like a winner so far, huh? I think so. To be fair, it does have some issues, too. My biggest issues with ReSharper so far are how long it takes to load and how much precious RAM it consumes. I loaded my project without ReSharper in about 20 seconds (24 projects in the solution with a ton if references). When I load the project with ReSharper it takes over 90 seconds to load while at analyzes the project and loads its cache. The good side of this is that it is relatively quick to use once it is loaded. But still, taking 90 to 150 seconds to load is a bit of a pain, especially when I open and close project files throughout the day. I also told the tool to show how much memory it consumes. This fluctuates, of course, depending on what I am doing. But it seems to float between 70MB and 130MB of RAM. I have 1GB of RAM which is getting to be tight these days, so this is just something to be aware of. Not a problem, just something to understand if you run with low RAM.

So far I am very pleased with ReSharper and I might just add it to my collection of tools. AT $149, its enough for me to pause but if it continues to be as useful as I have found it thus far, it could pay for itself. I’ve got a few weeks left on my 30 day trial …

 

 

tags: All
  • http://theexpedition.info Anonymous

    Yeah, I use ReSharper daily too. It is indispensable. I can’t imagine doing development without that tool, a simple but powerfull productivity boost. And it looks like that in future versions loading will be done in background, so it no longer will block IDE with modal progress window. Simply the features will work partially until whole project is analyzed. Since the upgrade will be free for current customers, I highly recommend using that credit card of yours when the trial period ends… I did just that and I am not disappointed.
    Cheers,
    Michal

  • http://www.msmvps.com/WilliamRyan Anonymous

    John – if you wouldn’t mind – what woudl a quick wish list on .NET Refactor look like? We typically get customer features added in a few days, sometimes the same day and would love another chance on this one ;-)

  • http://spaces.msn.commembersdscheidt Anonymous

    John,
    One other refactoring tool is DevExpress’s Refactor Pro. They make great tools.
    http://www.devexpress.com/…/Refactor
    (I’m in no way affiliated with them, just like CodeRush and their components).
    - Dave

  • http://www.jasonbunting.com/blahg Anonymous

    I posted this comment in your first post on this issue as well, but again wanted to bring up the DevExpress tool, Refactor! Pro. There are no dialog boxes to get in the way of refactoring, which makes it really nice . . . I am on a 60 day money-back trial period and have enjoyed it thus far for the most part, though there are definitely some bugs that need to be worked out.

  • http://codebetter.com/blogs/john.papa Anonymous

    Bill … Thanks for throwing out the request. One feature that would be nice (and maybe they it is already there and I missed it) is the Find Usages feature. To all … I’d like to open the floor to anyone else who wants to suggest some ideas for .NET Refactor, too.
    Jason & David … I have heard a lot about DevExpress’ Refactor Pro recently. I have not yet tried it but I will be doing so soon. In fact, I think it won an award recently. I’m open to any tool that can help me code better! Once I try it out I will post my experiences. Thanks for the suggestion.

  • http://www.msmvps.com/WilliamRyan Anonymous

    John – I just accidentally reposted this to ther original thread. Anyway, I’m on it right now…. will be in touch shortly ;-) Definitely appreciate the feedback.

%d bloggers like this: