Have you used nDepend?
- by Nick Harrison
Have you Used NDepend?
I have often wanted to use it, but never spent the money on it. I have developed many tools that try to do pieces of what NDepend does, but never with as much success as they reach.
Put simply, it is a tool that will allow you to udnerstand and monitor the architecture of your software, and it does it in some pretty amazing ways.
One of the most impressive features is something that they call Code Query Language. It allows you to write queries very similar to SQL to track the performance of various software metrics and use this to identify areas that are out of compliance with your standards and architecture.
For instance, once you have analyzed your project, you can write queries such as :
SELECT METHODS WHERE IsPublic AND CouldBePrivate
You can also set up such queries to provide warnings if there are records returned. You can incorporae this into your daily build and compare build against build.
There are over 82 metrics included to allow you to view your code in a variety of angles.
I have often advocated for a "Code Inventory" database to track the state of software and the ROI on software investments. This tool alone will take you about 90% of the way there.
If you are not using it yet, I strongly recommend that you do!