I had written about NDepend before even I had published a detailed review on DotNetSlackers based on NDepend 2.6 back in December 2007. Patrick and his team have been applying regular updates to the product since then, and they released version 3.0 with major additions in February 2010.
After installing the final version of Visual Studio 2010, I installed NDepend 3.0 to enjoy many of the nice features added to this new version especially the complete integration with the Visual Studio IDE.
Before anything else, I would recommend you to go to NDepend site and check out the overview tour video that goes over the major features included in the most recent version, 3.0.
I don’t want to go over all the details about NDepend because I had talked about them in my previous review that you can read on DotNetSlackers, but here I want to focus mainly on the great integration of NDepend 3.0 with the recent versions of Visual Studio including 2005, 2008, and 2010.
NDepend 3.0 comes with an add-in for Visual Studio that can be installed to provide complete integration. You can add NDepend projects to your solutions just like a regular Visual Studio project but this type of project doesn’t appear in the Solution Explorer. I created an NDepend project for BlogML 3.0 solution (yet another attempt!) that I started to write a few days ago with a new architecture as well as a high level of abstraction and testability in mind.
This add-in enables several windows within Visual Studio, adds an NDepend menu to the main menu list, and provides right-lick menu options for individual projects inside a solution in Solution Explorer. All these options provide the functionalities that you used to have (and still have) in NDepend IDE. Thank to this integration, you no longer need to open a new IDE and analyze your code. It’s easy to rerun your analysis to get the most recent updates about your incremental builds.
Inside Visual Studio NDepend creates new windows such as CQL Query Editor and CQL Query Explorer that make it easy for you to run and analyze your CQL queries.
Dependency Matrix gives you a detailed view of the dependency between your classes and components.
Dependency Graph gives you a visualized view of the dependencies between components and classes.
Metrics window shows a very interesting visualized view of the metrics for several components, classes, and methods within your projects.
So far I really enjoyed this integration between NDepend and Visual Studio 2010 because it keeps me up to date with my design and code with various metrics and figures, so I can correct my design with a good visualization of the current status as early as possible.