Skip to main content

WD40...

As with many things the smallest impediment to something that requires you to go out of the way to do something can seem like Mt. Everest. Often categorised or named "Friction" you usually need something to help remove this "Friction" and smooth the way.

I'd like to introduce you to two utilities that rate as good as WD40 in helping remove said "Friction" (you knew I'd get there in the end!).

Enter stage left, NCoverExplorer. If you do professional Microsoft .NET development you must be aware of the whole raft of tools out there to help you improve the quality of your code. NCover is one of them but code coverage in a lot of peoples opinion falls slightly down the rankings in terms of importance compared to unit testing, continuous integration etc (I have revised my opinion of it and actually think it should be the first thing to implement in a project now, more on this later).

So lets cut to the chase (did you know that term originated from the game 'Real Tennis' where the chase is a line on the court and cutting the ball as close to it as possible is a good thing - I'm indebted to an ex-collegue of mine Russell Lloyd for that titbit!)...I've just refreshed my installs of TestDriven.NET, MbUnit, NCover and finally NCoverExplorer.

Now I have code coverage thats so friction-less you could go curling on it!

Right click your unit test project/class/unit test method inside VS.NET IDE and select "Test with...Coverage" - bam! Up springs NCoverExplorer to give you a quick treeview drill down of where you are (not) exercising your code - and if the entry point is your unit test class you can use it to drill down into the actual assemblies they are testing to see just what is being run and what isn't (unused, redundant code maybe?). I was never a real user of code coverage until now - now I'm glued to the NCoverExplorer window watching my coverage figures improve! As I mentioned earlier I now believe that (as with Test Driven Development) code coverage is an "up front" activity - get it in place before you write any code and use it in parallel as you develop to identify gaps between tests and code (they will exist!).


The other application you need to be aware of is Simian - it detects duplicate code. However the real magic is a shim that HvR wrote to make it truely usable - MonkeyWrangler! Follow the "last post" link to get the full instructions on how to integrate Simian with the VS.NET IDE. If you work on a project with multiple developers (as many of you will undoubtably do) this util will be a life saver for you. Run it on the project you are on right now - you will be quite amazed how much duplication you could have (put it down to Friday afternoon coding!).


I know the authors of these utilities, Grant ("kiwidude") and Howard personally. I worked with Grant on a long term project in London a few years ago and we've been friends since. As he commented to me the other day I allow him to live out is alter-gadget infested life without have to buy any of them! Grant, happy to be your gadget test pilot anyday! I know that when Grant calls it a day over here, cashes in and goes back to New Zealand his AV/gadget setup will be mind blowing and it will be a happy day to sit in the middle of it all and share a beer with him!

Howard is another ex-colleague from my Conchango days. This guy is quite simply dynamite!


I get to hang out with all the cool guys!...LOL

A useful tip also; regularly visit the websites/blogs of the everyday tools you use to augment your development and check for updates. There is often new releases and bug fixes and sometimes new features which can be real time savers.

Another tip: If something seems difficult or too much trouble then someone else has probably come across the problem also. If you are lucky its someone like Howard or Grant and they've fixed the problem for you! If you think there must be a "better way" to do something there probably is - Google for it, you are more than likely to find a solution. For the brave get yourself a group on Project Distributor (this is mine), write some code and publish it!

Comments

Popular posts from this blog

Walk-Thru: Using Wolfpack to automatically deploy and smoke test your system

First, some history... The advent of NuGet has revolutionised many many aspects of the .Net ecosystem; MyGet, Chocolatey & OctopusDeploy to name a few solutions building upon its success bring even more features to the table.

I also spotted that NuGet could solve a problem I was having with my OSS System Monitoring software Wolfpack; essentially this is a core application framework that uses plugins for extension (Wolfpack Contrib) but how to unify, standardise and streamline how these plugins are made available? NuGet to the rescue again - I wrapped the NuGet infrastructure (I deem NuGet to be so ubiquitous and stable that is has transcended into the software "infrastrucuture" hall of fame) with a new OSS project called Sidewinder. Sidewinder allows me to wrap all my little extension and plugins in NuGet packages and deploy them directly from the Wolfpack application - it even allows me to issue a new version of Wolfpack and have Wolfpack update itself, sweet huh?

Abou…

Resharper add-in idea - highlight IDisposable vars

[Update 18th July 2013]
@RobGibbens and Greg Hurlman picked up on this - Rob pointed out that there is an FxCop rule that can do this and Greg suggested a Visual Studio extension. I've had a quick look at the Visual Studio options and it looks like an "Editor Extension" is a good fit....hmmm, Project New, click...doh...dammit I really don't have time for this but it looks a fun little diversion! I'll update here if I get anything working.

[Original Post]
Had an interesting idea for a Visual Studio Resharper add-in the other day but don't have the time to implement it so thought I would put it out there...it might already exist (and hopefully someone can point me in the right direction) or someone will build it (Darren Voisey where are you?!).

The idea is very simple really - when you have a variable for an object that implements IDisposable it gets highlighted or a tell-tale is displayed to let you know it should be disposed or should be wrapped in a using sta…

Geckoboard Countdown Widget v2

v2 is here, now with added colours! This time using the RAG Numbers widget to display your date countdown - as you get nearer the date the number will change from green to amber then red.

The new url is: http://geckocountdown.appspot.com/rag/?date=2010-12-25&tz=0&msg=Days+to+Xmas!
Note 1: notice the new /rag/ path and the msg querystring param.
Note 2: the original v1 url still works


To use this on your Geckoboard add a new "Custom Widget/RAG Numbers" widget. By default the number will turn amber at 10 or less days to go and red at 3 or less days to go however you can change these with the querystring (see below).


Required querystring params
date: "yyyy-mm-dd" format, this is the target date to countdown totz: timezone offset in hours from GMT that you are in. Can be negative if you are behind GMT
Optional querystring params
msg: the label that appears next to the number of days (remember to encode spaces as +). The default is "Days Remaining" if you…