NDepend


NDepend is a static analysis tool for.NET managed code. The tool supports a large number of code metrics that allow one to visualize dependencies using directed graphs and dependency matrix. The tool also performs code base snapshot comparisons, and validation of architectural and quality rules. User-defined rules can be written using LINQ queries. This feature is named CQLinq. The tool also comes with a large number of predefined CQLinq code rules. Code rules can be checked automatically in Visual Studio or during continuous integration.

Features

The main features of NDepend are:
All recent versions of the tool provides live code queries and code rules through LINQ queries. This is one of the main innovations of NDepend. For example:
- Base class should not use derivatives:
// Base class should not use derivatives
warnif count > 0
from baseClass in JustMyCodeTypes
where baseClass.IsClass && baseClass.NbChildren > 0 // <-- for optimization!
let derivedClassesUsed = baseClass.DerivedTypes.UsedBy
where derivedClassesUsed.Count > 0
select new
- Avoid making complex methods even more complex :
// Avoid making complex methods even more complex
warnif count > 0
from m in JustMyCodeMethods where
!m.IsAbstract &&
m.IsPresentInBothBuilds &&
m.CodeWasChanged
let oldCC = m.OlderVersion.CyclomaticComplexity
where oldCC > 6 && m.CyclomaticComplexity > oldCC
select new
Additionally, the tool provides a live CQLinq query editor with code completion and embedded documentation.

NDepend reviewed by the .NET community

*
*
*
*
*
*
*
*
*