New things in NDepend 2017.0.1

      No Comments on New things in NDepend 2017.0.1

NDepend 2017.1 is out!

I will use TD abbreviation for Technical Debt

NDepend is an excellent tool for tracking code issues in C# projects. It allows to check massive amount of aspects thanks to CQLinq. When used properly will increase code quality alot.

Newest version 2017.1 is equipped with technical debt calculation feature.

Technical debt

Since research on technical debt is what I do in free time, this feature in NDepend was specially interesting for me. Measuring TD gives the organization some hard numbers. Something that can be measured can be managed.

To test this new feature I used my well known project that I monitor all over – SmartStoreNET. SmartStoreNET is opensource e-commerce project developer by couple of folks in Germany.

My session (PL) demonstrating NDepend features was using SmartStoreNET as an example 🙂 (slides available here).

Technical debt in NDepend

NDepend has in each rule a formula for TD calculation. Formula for Avoid methods too big, too complex looks like following.

Thanks to that we can have information like this for each rule:

Those information are combined all together per class view.

This gives us really a lot of useful information on the status of the project.
Some may notice that debt is calculated with some predefined values. The authors had to balance relative value debt between different rules. Of course nothing stop you to alter the rules to your needs.

The TD overview is very well visible in dashboard. For the project managers this is what they want. One number for measurement.

Dashboard itself was enriched with more functionality.

It is possible to explore TD by rules or code elements.

Another nice thing in dashboard is grouping issues by element/namespace/assembly/rule.

NDepend can also calculate Annual Interest. Managers or tech leads can use that information to prioritize what to fix next. The bad thing is that interest grow, but the good that we can measure it now 🙂

Finally NDepend can also track TD evolution. As you may know (or not) NDepend has a concept of snapshots. It is possible to compare 2 code bases and check the differences. In newest version also the differences in TD can be compared and the trend is visible in dashboard panel.

Summary

Newest NDepend brings code quality checking in C# projects to a higher level. Now it became a tool that report not only code smells, but also a nice overview how much it would potentially take us to fix those.

Follow me:

Leave a Reply

Your email address will not be published. Required fields are marked *