I have had my eye on two tools for sometime. Both tools look extremely useful. Both tools have a very different focus. Both tools look hot!

Regrettably – both tools continue to be ignored while I spend time getting myself up to speed on the basics :-(

Anyway – would love to hear from anyone with experience good or bad.

Typemock http://www.typemock.com/

This allows you to isolate, stub or mock any class in your system. I like the quote:

“Holy crap, this thing is hot. In technical terms, you might call it the bomb-diggity. I haven’t been this stoked about a technology for quite some time...”

To my untrained eye, it looks very, very useful.

NDepend http://www.ndepend.com/

I have had a chance to play a little with this one and I was very impressed. Again a great quote:

“Once I realized the depth and breadth of the information I was looking at it, I was like a kid in a candy shop”

NDepend supports the Code Query Language (CQL) which allows you to really dig into your code base. E.g.

  • Which public methods have more than 30 lines of code?
    • SELECT METHODS WHERE NbLinesOfCode > 30 AND IsPublic
  • Which classes implement System.IDisposable?
    • SELECT TYPES WHERE IsClass AND Implements "System.IDisposable
  • Which methods have been refactored recently and is not thoroughly covered by tests?
    • SELECT METHODS WHERE CodeWasChanged AND PercentageCoverage < 100

But it is much more than that – you get a great GUI to go with it.

Patrick who wrote it even used it to analyze what changed in .NET 3.5 SP1. You will be pleased to know there were 636 new public methods and 57 new types :-)