The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
* Refactorings - for example ...
> being able to convert an auto-property to a property with a backing field because I now need to add behavior in an accessor
> being able to convert an anonymous method call into a lambda expression (or back) - which is very useful when teaching coworkers about lambda expressions
> there are many others
* Static code analysis result indicators in the right margin - where hints/suggestions/warnings/errors are flagged and clickable.
* Ctrl+Click - same as F12, but I don't need to move my hand off my trackball.
* Letting me know of possible null values (typically from method return values).
There are probably other things I like - but I've used R# for so long now that I've forgotten what's R# and what's native to VS.
Other things - like identifying naming convention violations - I don't really care about. I know the house rules and don't need to think about them, so don't need a nanny checking up on me.
ReSharper has two "disadvantages", it takes a while until you
a) configured everything so that resharper does it YOUR way
b) you learn to utilize all the neat features in your day to day job (there are just too many).
But after that - man I tell you, you just can't understand how you could have lived without it. The quality and readability of our code has improved very much an I am a LOT faster analyzing, refactoring and writing code.
You can't just look at the featuresheet. You actually have to try it and you must be ready to actually play with it.
What I was trying to say with that is that I too can write quality code using notepad but I wouldn't dare...
I'd admit that you might lose some productivity while getting R# up and running and learning how to use it effectively but after that chances are that you will be much more productive.
R# lets me focus on the code and gets all the noise out of my way. It brings to the table what the java community has been used to for a much longer time.
I don't want to spend time formatting code, ordering members, finding implementations of a interface method, waiting for VS to find a symbol for me, writing boilerplate code like .Equals()/.GetHashcode(), do a lot of refactoring manually, creating NUnit tests etc. etc.
Because I don't have to do a lot of things that you do, I can write code faster than you.
again you are making an arrogant assumption for which you have no basis. You have no idea how fast I can type or how my IDE is configured, which other tools I may have. I could say since I have a visual studio 2010 I am faster than someone with visual studio 2008 but that would be incorrect.
These add ins were awesome in VC6. Nowadays, they are in a constant arms race with MS, trying to add features that are not in the IDE, and are useful. In my experience, they make the IDE buggy and unstable.
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
Some of the most valuable features:
- Intelligent code analysis and coding style fixes while you write
- Quick fixes for the most commons errors
- Easy navigation trough your code
- Easy discovering and navigating to usages, inheritance
- Great ease of refactoring, e.g. renaming and moving of variables, methods, classes, namespaces...
- Suggestions of naming variables, classes
- Very customizable to your own guidelines
- Greatly increasing velocity of development
- Higher code quality
- Better readability
- Better insight in dependencies and structure of your application
Writing code without resharper i feel handicapped.
Resharper has its fans but, like any add-on, there are those who love it, those who say "why?" and those who hate it.
I fall into the first camp. Honestly, Resharper, like any good add-on, does something I could have done myself. After all, isn't that what project templates, snippets, deployment tools, and frameworks in general do? But, like any good add-on, it does it for me in a microsecond, much faster than I ever could and with a lot more quality and consistency. When I rename a method I don't have to figure out if I forgot that last usage when my co-worker walked in my office interrupting me.
The IDE itself, and other 3rd party add-ons, do similar things but I've grown used to Resharper and I love the way it works. It just flows. The people at JetBrains (who make Resharper) really know how to write tools that work like a developer, not just something the plug and chugs.
Try it and if you like it then use it. If you don't then don't. It's that simple and that's what it comes down to. Again, just like any other good add-on.