Hundreds of default code rules to check against best practices. Support for Code Query over C# LINQ (CQLinq) to easily customize rules and query code.
Easily Manage Large Projects
Most companies have large systems that work together, often in mysterious ways. NDepend's in-depth reporting and toolset can help your company enforce its own coding standards and maintain complex projects.
Explore how the code is actually structured and shed light on architectural flaws thanks to the most powerful code dependency graph and dependency matrix available in the tool industry.
For each issue, the cost to fix and the severity are estimated through smart and customizable C# formulas. Thus estimations proposed are realistic.
Continuous Code Quality
A unique approach to continuously keep the technical debt under control and reimburse it with time.
Quality Gates are C# LINQ (CQLinq) queries that implement PASS/FAIL criteria to code quality.
Explore the issues-set in a few clicks and focus your effort on what is urgent and important.
Import test coverage data, and make the most of it in the NDepend feature-rich context.
Monitor the Health of Your Application
NDepend allows your team to accurately gauge the overall health of your application, no matter how complex it is.
Get Trend Charts about pretty much any code metrics to master the evolution of your application.
Compare two versions of a code base and its issues set, and browse diff and changes in any way you can think of.
Be warned of potential build process problems before they end up causing friction and pain.
Reduce Friction Between Your Developer Teams
NDepend's reporting and analysis helps architects and developers to communicate and reduce confusion.
Integrate NDepend analysis into your build process and get highly customized and detailed reports to see progression and prevent code quality degradation.
Spot too complex code at a glance thanks to unique diagramming capabilities.
Lines of Code, Cyclomatic Complexity, Coupling, Nesting Depth, Rank, NDepend supports them all (and much more).
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.
Get rid of dependency cycles between components to achieve higher code maintainability.
NDepend helps maintaining clean side-effects free code to write highly maintainable products.
Full Visual Studio and Azure DevOps integration, super fast and lightweight analysis, integration within all CI/DevOps systems, NDepend is conceived for real-world programmers.
Write your own static analyzer based on NDepend.API, or tweak existing open-sources Power Tools.
As a static analyzer, NDepend will likely find hundreds or even thousands of issues affecting a real-world code base. Stopping work to attempt to fix all issues for a few weeks or months would be quite unproductive.
This is why NDepend is the only tool that offers a baseline in Visual Studio. The tool estimates the Technical Debt progress since a baseline.
Recent code smells that should be fixed before committing any code to source control are highlighted in Visual Studio. They can then be fixed even before reaching the source server. As a consequence the Code Quality remains under control with no major upfront investment.
Concretely, for all global numbers (number of issues, numbers of rules violated, debt estimation...) the Dashboard also shows these numbers' differences since baseline. If it is getting worse the number is red, if it is getting better the number is green. The numbers themselves can be clicked to generate C# LINQ queries against the issues-set. The results of these queries will present the relevant issues with browsing facilities.
This flexible approach brings several benefits:
- You can filter by new issues since baseline.
- Issues matched by a query can be grouped through code elements or through rules.
- For each issue, the cost-to-fix is estimated and so its impact on the business, which are named debt and annual interest or severity.
- Some proposed queries contain heuristics to maximize the issue-fix Return-On-Investment. For example an issue can be relatively easy to fix but still have a high business impact (high severity). This issue should then be fixed first.
- Queries on the issue-set can be refined and saved to prioritize which issues to fix first.
- With a single click you can jump from the issue to the source code in both Visual Studio and Azure DevOps NDepend extensions.