Sponsored post
Thank you developer for a key


I have had the privilege to try out NDepend and see what it can do now for a couple of weeks while working on a project.

What is NDepend?

NDepend is a Visual Studio extension that will give you deep insight into your solution, showing you very advanced metrics like the technical dept and how long it will take to fix, how many issues or code smells you have in a projects, and so much more!

NDepend gives you a huge toolbox to query your code to find bad practices BEFORE they turn into issues! It’s fully customizable and you get more than 100 rules predefined, you can add or change them to fit your needs!

NDepend becomes very powerful once you dive into the linq queries, and even create your own.

Highlights

Detailed Reports

Once you attach and run NDepend it will scan through all your assemblies and create a very detailed report with a quick summary and detailed lists of warning and code-smells, as well as test-coverage, dependency graphs, and so much more!

This is all put into a HTML report that will open once it finishes, as seen below

This gives you a very handy overview of all your code, and where the problem areas are.

Easy Dashboard

Inside of visual studio you get a dashboard where you can quickly see and dive into all the metrics and warnings that NDepend finds, this is the same metrics as found in the detailed report, right from inside VS.

This is what i used most of the time, to dive into possible problem areas of my application.

To dive into the critical issues, simply click the “Critical” number saying “3” and it will show the query as well as all the matching rules that have 1 or more issues!

It shows in great detail how many issues and how much the dept costs right now and how much the complexity will grow if left unattended!

Clicking a violated rule will list all the code where the issues has matched! This is a really fast way to quickly go in and fix your code!

Powerful Linq Queries

Once you get a good feel for NDepend, you maybe start to want a bit more, and NDepend gives you full access to the 100+ predefined Linq Queries, and AND you can create your own!

This is very powerful, as it gives you the endless possibilities to create very advanced custom rules!

Here is an example of a code query, that takes all interfaces and lists the ones that have 10 or more methods:

from i in JustMyCode.Types
where i.IsInterface && i.NbMethods >= 10

Querying is very simple, but so powerful!

My thoughts

I have used it only for a short time, and I have but scratched the surface!

NDepend is very well written and intuitive! It has some very well made UI’s and a lot of thought has gone into what to query and the true meaning of code and technical dept!

The only downside I want to mention is the installation process, I do with it would have been installed through the extension store, instead of having to download .zip files and install from there.

But that being said, NDepend can really make a difference if taken the time and used correctly.

Conclusion

NDepend is not for the beginner developer, NDepend is a very powerful tool, but if you have good knowledge of code smells and best practices, and take the time to learn the ins and outs of the tools NDepend provides you with, then you can truly level up your code base!

To learn more or try it free for 14 days, go to
https://www.ndepend.com/
There are lot’s of good documentation and videos to get you started!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.