New Debt and Issues per Rule

Code Query Hot Spots

Lists violated rules with new issues since baseline, most new Debt (estimated fix effort) first.

--

New issues stem from recent refactoring: the code is fresh in developers minds, so fixing now costs less than later, and it fosters quality practices like unit-testing and avoiding complexity.

--

Group rules by Rule Category to see which categories generate most Debt (typically Code Coverage by Tests, Architecture and Code Smells).

More documentation: https://www.ndepend.com/docs/technical-debt

CQLinq source

This code query 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.

// <Name>New Debt and Issues per Rule</Name>
from r in Rules
where r.IsViolated() && r.IssuesAdded().Count() > 0
orderby r.DebtDiff().Value descending
select new { 
   r, 
   IssuesAdded = r.IssuesAdded(),
   IssuesFixed = r.IssuesFixed(),
   Issues = r.Issues(), 
   Debt = r.Debt(), 
   DebtDiff = r.DebtDiff(),
   Category = r.Category
}

//<Desc>
// Lists violated rules with new issues since baseline, most **new Debt**
// (estimated fix effort) first.
//
// --
//
// New issues stem from recent refactoring: the code is fresh in developers
// minds, so fixing now costs less than later, and it fosters quality
// practices like unit-testing and avoiding complexity.
//
// --
//
// Group rules by *Rule Category* to see which categories generate most *Debt*
// (typically *Code Coverage by Tests*, *Architecture* and *Code Smells*).
//
// More documentation: https://www.ndepend.com/docs/technical-debt
//</Desc>

Hot Spots: all 7 items