Click here to Skip to main content
Click here to Skip to main content

Tagged as

Go to top

An introduction to NDepend

, 18 Jan 2012
Rate this:
Please Sign up or sign in to vote.
An introduction to NDepend

If you are anything like me, then you love to have information about the code you write whether its test coverage, cyclomatic complexity, or other metrics that can give you some insight into your code.

Before the shouting starts, I’m not talking about metrics as KPIs or using them for targets that developers have to meet, I’m simply talking about information you can use to better understand your code which may in turn help you to improve the code.

If you are lucky enough to have the Premium or Ultimate edition of VS2010 or VS2008 Team Suite/Developer, then you get this functionality as part of Visual Studio, if not then you need another tool to provide you with this information. Even if you do have the native VS analysis functionality, you may find that there are tools out there that provide a lot more information that the built in tools.

NDepend

NDepend is one such tool which provides metrics on your code but that isn’t all, it will allow you to delve inside the architecture of your application, allow you to diff the code, has test coverage analysis and build server integration built in.

NDepend will also work with VS2005 upwards and as it can be used independently of Visual Studio. You can actually use it even if you only have the Express editions of Visual Studio.

Disclaimer: I do not work for NDepend but I was lucky enough to be provided the software to “play with”, my opinion in this and any subsequent post is my opinion and nobody else’s.

I'm going to put together a series of posts, this being the first, on NDepend trying to give you an idea of the product and what you can, and can't, do with it.

In this post, I’m going to talk about the different editions of NDepend and give some information on each of them:

Editions

Currently, there are 3 editions of NDepend:

  1. Trial/Open-Source/Academic Edition
  2. Professional Developer Edition
  3. Professional Build Machine Edition

Trial/Open-Source/Academic Edition

The Trial/Open-Source/Academic Edition, referred to as Trial from this point, is a good starting place for anybody interested in trying NDepend.

As you may expect though, this edition has limited functionality but to be fair to NDepend it provides the majority of features that the Professional Developer edition does so you can get a really good idea of what you can do though there are limitations imposed on the level of functionality supported for each feature.

You are able to use the trial version freely for non-commercial software but it is time limited (current downloadable version will stop working 12th March 2012) although you are able to download another version once the software has past its expiry date. The site provides guidance on using the trial version so you can decide if you really should be using it or not.

Professional Developer Edition

This is the full version that you’ll really want if you like NDepend, not only does it provide unfettered access to the majority of the functionality in the software (more on this in a bit) but also comes with additional features:

  • Test coverage import – happy to use NCover or Visual Studio Coverage
  • Reflector integration – provides an addin to reflector to allow you to jump into NDepend from a context menu entry
  • Build Comparison/Code Diff - provides a way to diff code & builds to understand what’s changed

This edition is the one you’d most likely use day to day to check on how your code is doing and to be able to target any areas that you can see could do with some attention.

Professional Build Machine Edition

If you have a Continuous Integration server, then you can enhance it with this edition that will allow you to generate reports from NDepend in your build process on the quality of the code when compared with the metrics you’ve defined.

This integration will not stop your build, it will only generate the report that you have configured.

Edition Summary

Above, I’ve given you a run down of some of the differences between the versions and what they do. A full comparison can be found here on the NDepend site.

As I eluded to the professional version doesn’t appear to support some of the features that the trial version does, namely those related to build server integration.

I can understand why this has been done as it allows people to download a single version of the software and try out both the interactive and build integration facets of the application.

It would be nice though to be able to get the Professional edition to do this functionality even if only for trial purposes, it is possible it already does this but the aforementioned comparison chart seems to indicate that it doesn't have those features.

What’s Next?

The next post will probably just be a short one as I’m going to be looking at the installation of NDepend.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Nathan Gloyn
Nock Consulting
United Kingdom United Kingdom
Passionate developer, designer, Certified Scrum Professional, wanna-be architect, agile evangelist, and presenter.
Follow on   Twitter

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web04 | 2.8.140916.1 | Last Updated 18 Jan 2012
Article Copyright 2012 by Nathan Gloyn
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid