Percentage Debt (Metric)

Trend Metric Trend Metrics / Debt

Name suffixed with (Metric) to avoid collision with the same-named Quality Gate.

Ratio of estimated total time to fix all issues (the Debt) over estimated total time to develop the code base (inferred from # lines of code and the man-day to develop 1000 logical lines of code setting in Project Properties > Issue and Debt). Debt documentation: https://www.ndepend.com/docs/technical-debt#Debt

CQLinq source

This trend metric is written in CQLinq, C# LINQ over the NDepend code model. It ships with every new NDepend project: you can read it, adapt it, or use it as a starting point for your own custom rules.

// <TrendMetric Name="Percentage Debt (Metric)" Unit="%" />
// Effort to develop the application code only: test code (the TestCode view) is not counted
let timeToDev = TimeSpan.FromMinutes(Application.Assemblies.Sum(a => (a.EffortToDevelop() ?? TimeSpan.Zero).TotalMinutes))
let debt = Issues.Sum(i => i.Debt)
select 100d * debt.ToManDay() / timeToDev.ToManDay()

// <Desc>
// Name suffixed with (Metric) to avoid collision with the same-named
// Quality Gate.
//
// Ratio of estimated total time to fix all issues (the Debt) over estimated
// total time to develop the code base (inferred from # lines of code and
// the *man-day to develop 1000 logical lines of code* setting in Project
// Properties > Issue and Debt).
// Debt documentation: https://www.ndepend.com/docs/technical-debt#Debt
// </Desc>

Trend Metrics / Debt: all 7 items