NDepend explained

NDepend
Developer:NDepend
Latest Release Version:2024.1
Operating System:Windows
Genre:Software quality
License:Commercial, Proprietary

NDepend is a static analysis tool for C# and .NET code to manage code quality and security. The tool proposes a large number of features, from CI/CD Web Reporting to Quality Gate and Dependencies Visualization. For that reason, the community refers to it as the "Swiss Army Knife" for .NET Developers.

Features

The main features of NDepend are:

Code rules through LINQ queries (CQLinq)

Live code queries and code rules through LINQ queries is the backbone of NDepend, all features use it extensively. Here are some sample code queries:

// 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(baseClass) where derivedClassesUsed.Count > 0 select new

// Avoid making complex methods even more complex (source code cyclomatic complexity) 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.

See also

External links

NDepend reviewed by the .NET community

Books that mention NDepend