NDepend Rocks, and the Zone of Uselessness

A few days ago, Raymond Lewallen posted some links to a few .NET code analysis tools. One of those is NDepend and I gotta tell you, I'm very impressed. This tool analyzes .NET assemblies to generate design quality metrics. And boy does it generate *lots* of metrics; just check out this report on the NDepend tool itself.

The tool is simple to use and takes only a couple minutes to get setup and run. It can also intregrate with your build process, which is always a plus. And of course being completely free helps.

NDepend is a nice compliment to FxCop and I think both should be used regularly when writing .NET applications. I'm already a slave to FxCop, so adding NDepend to my arsenal only makes sense.

Plus, the tool produces a graph with the “Zone of Pain” and the “Zone of Uselessness”. I think having a .NET assembly in the “Zone of Uselessness” is hilarious. I know a couple developers from past projects who fall into that category :-)

Print | posted on Thursday, June 23, 2005 10:11 AM

Feedback

# re: NDepend Rocks, and the Zone of Uselessness

left by Darrell at 6/23/2005 1:44 PM
Zone of Uselessness - I get into that zone about a half hour after a big lunch. zzzzzzz

# re: NDepend Rocks, and the Zone of Uselessness

left by Raymond Lewallen at 6/23/2005 5:43 PM
Dave,

Just like you, I am a faithful user of FxCop and NDepends, as well as NCover for test coverage.

I always make code conform to FxCop, and then make code conform to what NDepends tells me about it. The afferent and efferect coupling, including with cyclomatic complextity, is invaluable information that is too easy to get when using NDepends. Great product, indeed.

Unfortunately, and I'm sure this is the case with many projects, you'll find your data access layers leaning into the "Zone of Pain" due to their concrete construction. O/R mappers help in this area, but I think many still fall into this area. In order to change a DAL, it effects most other assemblies up the compile chain. So in general, the zone of pain doesn't bother me so much. Nothing I can do about it without rewriting hundreds of thousands of lines of code, and with tools like NAnt that help out the compile process, its not that big of a deal to rebuild everything. I never change anything to cause dramatic changes anyways.

All things NDepends helps with.

# re: NDepend Rocks, and the Zone of Uselessness

left by Jennifer at 6/25/2005 10:24 AM
ZOne of Uselessness....ahhh great term for so many uses.

# re: NDepend Rocks, and the Zone of Uselessness

left by Jim Holmes at 6/26/2005 8:42 AM
DevMetrics from Anticipating Minds (http://www.anticipatingminds.com) has a free community edition with some nice complexity stats, too. Different flavor than NDepend, but extra info isn't always bad... Unfortunately, it's C# only.

CRPlugin for DXCore also does stats, but it's been awhile since I fooled with that.

I see Raymond mentioned NCover. There's a slick browser for that at http://www.sliver.com/dotnet/NCoverBrowser/ and a very good enhancement XSL stylesheet at http://blog.dotnetwiki.org/archive/2004/07/15/594.aspx.

Comments have been closed on this topic.