NDepend: Manage your .NET Code

Many of will like myself will code once and a while. As a BizTalk professional it is inevitable that you will code for instance a pipeline component, a helper class, functoid, or other custom code to support your solution or test.

There are many tools available to make you more productive and provide you ability to create robust and high quality code. Either you find open source tools through Codeplex, utilities/tools through Microsoft or commercial ones.

One of the tools I got acquinted with is NDepend. It is a Visual Studio tool to manage complex .NET code and achieve high Code Quality. With NDepend, software quality can be measured using Code Metrics, visualized using Graphs and Treemaps, and enforced using standard and custom Rules. I received a copy of this tool through Patrick Smacchia (owner of NDepend) to review.

Installation of the tool is pretty straight forward. Once installed on your machine by unpacking it in a file folder you can start using either NDepend.PowerTools or VisualNDepend.Through VisualNdepend you can install the VS2012 Addin.

image

When starting VS2012 I find the NDepend Addin in my menu bar.

image

I will now create my first NDPEND project. I click new and give project a name.

image

I add assemblies from a project I created recently or in the past from a BizTalk solution. I choose of one of my solutions, which I created for BizTalk Server 2010 Cookbook.

image

I can then run an analysis of one of more assemblies. A report will be created popping up in my browser.

image

This report provided me with a lot details about my solution. Within Visual Studio I am provided with more information through NDepend Error list, and so on. This can be down within a few minute giving you a clear picture of your solution.

I have just scratched the surface with what I described in this post, yet this tool shows a lot of potential (see also this review). There are many great features offered through this tool and I recommend you try it out.  I believe my future projects will be even in a better shape using this tool!

Cheers,

Steef-Jan

Labels: , , ,