Product Features

NDepend is a "Swiss Army Knife" for .NET and .NET Core project teams. With its wide range of features, it gives deep insight into code bases and empowers developers, architects and executives to make intelligent decisions on projects.

Evaluate the Health of Your Application

NDepend allows your team to accurately gauge the overall health of your application, no matter how complex it is.

Code Rule and Code Query

More than 150 default code rules to check against best practices. Support for Code Query over LINQ (CQLinq) to easily write custom rules and query code.

Code Diff since Baseline

Compare two versions of a code base and its issues set, and browse diff and changes in any way you can think of.

Continuous Code Quality

A unique approach to continuously keep the technical debt under control and reimburse it with time.

Quality Gates

Quality Gates are C# LINQ (CQLinq) queries that implement PASS/FAIL criteria to code quality.

Reduce Friction Between Your Developer Teams

NDepend's reporting and analysis helps architects and developers to communicate and reduce confusion.

Continuous Integration Reporting

Integrate NDepend analysis into your build process and get highly customized and detailed reports to see progression and prevent code quality degradation.

Complexity and Diagrams

Spot too complex code at a glance thanks to unique diagramming capabilities in the .NET world.

Easily Manage Gigantic Projects with Hundreds of Developers

Large companies often have many large builds that work together, often in mysterious ways. NDepend's in-depth reporting and custom code queries can help your company enforce its own coding standards and maintain very complex projects.

Trend Monitoring

Get Trend Charts about pretty much any code metrics to master the evolution of your application.

Working with Legacy Code is Now Easier

By mapping out the structure of the project, it is much easier to see how components and dependencies are connected.

Real-World Proof

Full Visual Studio integration, .NET Reflector support, super fast and lightweight analysis, NDepend is conceived for real-world programmers.

See how NDepend can change the way your company creates software.
Click below to download your 14 day trial

Download free trial.

Or you can see how to get started with NDepend and explore its in-depth documentation.

Get Started

Code Quality and Code Metrics

There are many ways to measure a code base. The most common way is to count the number of lines of code. This metric gives a rough estimation of the effort that had been put in to develop the code base. It also allows you to obtain a quality level agreement by pinpointing fat methods and classes.

NDepend counts the number of lines of code. It also comes with 82 other code metrics. Some of them are related to your code organization (the number of classes or namespaces, the number of methods declared in a class...), some of them are related to code quality (complexity, percentage of comments, number of parameters, cohesion of classes, stability of assemblies...), some of them are related to the structure of code (which types are the most used, depth of inheritance...) and some of them are related to code coverage (%coverage, number of lines of code covered, branch coverage...).

NDepend also provides some facilities that will help you to detect metric anomalies and to fix your own thresholds.

The NDepend UI displays an interactive view of code metrics of your .NET applications. Such a view can be tuned according to numerous software metrics and can be saved in a PNG file in order to let you print posters.

For example see below a screenshot below of the metric view on the NDepend code base:

  • Rectangle are methods of the code base.
  • Each rectangle area is proportional to the #lines of code of the method.
  • and the rectangle color is defined by the percentage coverage by tests of the method.
This represents a unique way to understand the code coverage of the application, and see where more effort is needed.

Related Links::

How do you count your number of Lines Of Code (LOC) ?
Why is it useful to count the number of Lines Of Code (LOC) ?
Layering, the Level metric and the Discourse of Method
Code metrics on Coupling, Dead Code, Design flaws and Re-engineering
A simple trick to code better and to increase testability
Interview of our Lead Developer by Scott Hanselman about Metrics (35mn)