NDepend Blog

Improve your .NET code quality with NDepend

SOLID Design in C#: The Interface Segregation Principle (ISP) with Examples

November 13, 2023 6 minutes read The Interface Segregation Principle (ISP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented features. The...
NDepend November 13, 2023

SOLID Design in C#: The Dependency Inversion Principle (DIP) with Examples

November 8, 2023 8 minutes read The Dependency Inversion Principle (DIP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented...
NDepend November 8, 2023

.NET Core 3.0 New APIs

September 25, 2019 2 minutes read .NET Core 3.0 has just been released, see here the official announcement. In this post we’re going to explain how to list and explore...
NDepend September 25, 2019

Are SOLID principles Cargo Cult?

August 13, 2019 6 minutes read My last post about SOLID Design: The Single Responsibility Principle (SRP) generated some discussion on reddit. The discussion originated from a remark considering SOLID...
NDepend August 13, 2019

Exploring .NET Core 3.0 new API

February 21, 2019 9 minutes read .NET Core 3.0 is representing a major step for the .NET community. It is interesting to analyze what’s new in the API directly from...
NDepend February 21, 2019

Advanced Code Search : A Case Study

January 16, 2019 3 minutes read This morning I stumbled on a complex test to write. The need was to create and show a custom Form (written with Windows Form)...
NDepend January 16, 2019

Quickly assess your .NET code compliance with .NET Standard

April 19, 2018 4 minutes read Yesterday evening I had an interesting discussion about the feasibility of migrating parts of the NDepend code to .NET Standard to ultimately run it...
NDepend April 19, 2018

A problem with extension methods

November 13, 2017 2 minutes read We like extension methods. When named accordingly they can both make the caller code clearer, and isolate static methods from classes on which they...
NDepend November 13, 2017

Static analysis of .NET Core 2.0 applications

October 12, 2017 3 minutes read NDepend v2017.3 has just been released with major improvements. One of the most requested features, now available, is the support for analyzing .NET Core 2.0...
NDepend October 12, 2017

Our experience with using third-party libraries

August 3, 2017 5 minutes read NDepend is a tool that helps .NET developers write beautiful code. The project was started in April 2004. It is now used by more...
NDepend August 3, 2017

Exploring the Technical Debt In Your Codebase

March 3, 2017 1 minutes read Recently, I posted about how the new version of NDepend lets you compute tech debt.  In that post, I learned that I had earned...
Erik Dietrich March 3, 2017

Managing Code Analysis Statistics with the NDepend API

August 4, 2016 3 minutes read If you’re familiar with NDepend, you’re probably familiar with the Visual Studio plugin, the out of the box metrics, the excellent visualization tools, and...
Erik Dietrich August 4, 2016

4 Ways Custom Code Metrics Improve A Development Team

May 12, 2016 2 minutes read One of the things that has surprised me over the years is how infrequently people take advantage of custom code metrics.  I say this...
Erik Dietrich May 12, 2016

The Power of CQLinq for Developers

April 14, 2016 2 minutes read I can still remember my reaction to Linq when I was first exposed to it.  And I mean my very first reaction.  You’d think, as...
Erik Dietrich April 14, 2016

The Better Code Book – Our MVPs of 2015

February 24, 2016 3 minutes read We firmly believe spaghetti belongs on the dinner table and not in code. Our mission when starting NDepend was to create a tool to...
NDepend February 24, 2016

With Code Metrics, Trends are King

December 31, 2015 2 minutes read Here’s a scene that’s familiar to any software developer.  You sit down to work with the source code of a new team or project...
Erik Dietrich December 31, 2015

The Most Important Code Metrics You’ve Never Heard Of

December 10, 2015 6 minutes read Oh, how I hope you don’t measure developer productivity by lines of code. As Bill Gates once ably put it, “measuring software productivity by lines...
Erik Dietrich December 10, 2015

Let’s Build a Metric: Using CQLinq to Reason about Application State

December 3, 2015 4 minutes read I’ve been letting the experiments run for a bit before posting results so as to give all participants enough time to submit, if they...
Erik Dietrich December 3, 2015

Let’s Build a Metric: Incorporating Results and Exploring CQLinq

November 19, 2015 4 minutes read It turns out I was wrong in the last post, at least if the early returns from the second experiment are to be believed....
Erik Dietrich November 19, 2015

Toward Bug Free Software: Lines of Defense

July 21, 2015 9 minutes read Hurrah!! Last week we released NDepend v6 RTM. Once again we relied on a 2 months private beta-testing period and a one month Release Candidate period to do...
NDepend July 21, 2015