2D Head with a clock as an eyeball.
 Thursday, November 01, 2007

Perhaps I've lost my mind... perhaps I'm a little too open minded... but why is there so much press out there on Resharper vs Refactor?

After investigating both CodeRush and Resharper I finally decided to purchase Resharper 3.0. I have been happily using Refactor Pro! 2.x for the past year or so, but I recently stretched it's capabilities.

I like Refactor; the simplicity of using Ctrl+~ is intoxicating. However, since embracing test driven development along with using a model view presenter pattern for my UI design I've found it lacking.

The main things that tipped me over the edge happened to fall into the refactoring and navigation categories:

Create a new class/interface declaration from an unknown initialization.

 

This is perhaps the single most productive feature anybody doing TDD could desire, just declare willy nilly and fix up the red bits as you go with Alt+Enter. Intellisense works with types you haven't implemented yet.

Create a new field/local/property/method from an unknown word.

Once again allowing you to code with the knowledge of what does and doesn't exist (yet) using red highlighting, and to instantiate as late as possible into the design of your test.

Force a type to implement the interface of the variable type it is being assigned to.

I don't have to worry about switching over to the class code file to slot in the interface - all taken care of inline.

Walking thru usages via Ctrl+Shift+F12.

When programming behind interfaces, getting around can get a little tedious with the standard VS2005 UI. F12 doesn't cut it, especially in mixed language solutions. The advanced usage tools make it easy to hop around implementations.

But perhaps the one feature that wins it, that sets up a whole lot of other cool features for Resharper, is background compilation for C#. As far as I'm concerned, the compilation tax for C# is a major productivity drain when in comparison to VB.

Perhaps I'm weird in that I can't stand CodeRush, but I love Refactor Pro for its insanely creative refactorings. There are plenty of refactorings that Resharper doesn't do. However, when it comes to a fully fledged productivity suite - I seem to fly with Resharper without thinking. CodeRush, despite its name, seems to slow me down more than anything.

Whats even weirder is that it feels like Resharper begins where Refactor finishes - they seem to co-exist in near perfect harmony. And yes it still feels like fitting Ford parts to my Holden.

I think I've just exploded in a fit of non-conformity.


Filed under:  |  | 
 Wednesday, July 18, 2007

9421665_f055539a8c_mFound this gem today, and yes - I wrote it.

Its a very simple class, I use it to tell NCover to ignore certain sections of code - fair enough right? Well... here it is.

<CoverageExclude()> _
Friend NotInheritable Class CoverageExcludeAttribute
    Inherits System.Attribute
End Class

Embarrassing. You can see another example of this kind of logic here.

So hands up people - give us your most recent stupid coding moment and make me feel better about myself.


Filed under:  |  |  | 
© Copyright 2008 Jim Burger