NDepend Blog

Improve your .NET code quality with NDepend

Reporting Roslyn Analyzers

March 26, 2024 4 minutes read Introduction Roslyn Analyzers offer significant value to .NET developers. They identify code issues and vulnerabilities and inform developers about necessary fixes directly in the...
NDepend March 26, 2024

SOLID Design in C#: The Open-Close Principle (OCP)

November 20, 2023 7 minutes read The Open-Close Principle (OCP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented features....
NDepend November 20, 2023

SOLID Design in C#: The Single Responsibility Principle (SRP)

November 9, 2023 7 minutes read The Single Responsibility Principle (SRP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented features....
NDepend November 9, 2023

What is Code Review? – Guidelines and Best Practices

July 19, 2021 9 minutes read Code review is the process of mandating systematically one or several developers to review the code written by another developer in other to detects...
NDepend July 19, 2021

Strategies to Catch Regression Bugs before Production: A Case Study

October 19, 2020 6 minutes read That’s quite a coincidence that a few days after promoting the joy of immutability in the post C#9 records: immutable classes we stumbled on...
NDepend October 19, 2020

Business Complexity vs. Implementation Complexity

September 19, 2019 6 minutes read It is good software design practice to make sure that methods can be entirely viewed in the code editor that typically shows 30 to...
NDepend September 19, 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

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

Use NDepend to Measure How SOLID Your Code Is

June 5, 2018 1 minutes read Not that long ago, we published a post defending the SOLID principles of object-oriented design. In today’s post, we take it a step further: we’re going...
Erik Dietrich June 5, 2018

What Makes a Codebase Acquirable?

May 15, 2018 1 minutes read What makes a codebase acquirable? This is the rare question that affects software developers, managers, and executives in a surprisingly similar way.  And that’s...
Erik Dietrich May 15, 2018

Checking DDD Ubiquitous Language with NDepend

March 13, 2018 4 minutes read Since NDepend version 2018.1, the tool proposes a default rule to check Domain Driven Design (DDD) Ubiquitous Language validity. DDD Ubiquitous Language Let’s quote Martin Fowler...
NDepend March 13, 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

Marker Interface Isn’t a Pattern or a Good Idea

September 7, 2017 3 minutes read Today, I have the unique opportunity to show you the shortest, easiest code sample of all time.  I’m talking about the so-called marker interface....
Erik Dietrich September 7, 2017

Are Code Rules Meant to Be Broken?

May 11, 2017 2 minutes read If you’ve never seen the movie Footloose, I can’t honestly say I recommend it.  If your tastes run similarly to mine, you’ll find it...
Erik Dietrich May 11, 2017

What Metrics Should the CIO See?

February 2, 2017 1 minutes read I’ve worked in the programming industry long enough to remember a less refined time.  During this time, the CIO (or CFO, since IT used...
Erik Dietrich February 2, 2017

Alternatives to Lines of Code (LOC)

November 23, 2016 3 minutes read It amazes me that in 2016, I still hear the occasional story of some software team manager measuring developer productivity by committed lines of...
Erik Dietrich November 23, 2016

How to Get Company Coding Standards Right (and Wrong)

September 8, 2016 2 minutes read Nothing compares with the first week on a new job or team.  You experience an interesting swirl of anticipation, excitement, novelty, nervousness, and probably...
Erik Dietrich September 8, 2016

How to Get Developers to Adopt Coding Standards

June 2, 2016 2 minutes read If you’re a manager, there’s a decent chance that the subject of coding standards makes you want to bang your head against a wall...
Erik Dietrich June 2, 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

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

NDepend version 6 insights

June 16, 2015 9 minutes read Welcome to the brand new NDepend blog! This blog will talk about NDepend of course, announcements, directions, features advanced usage, but this blog will...
NDepend June 16, 2015