NDepend Blog

Improve your .NET code quality with NDepend

High .NET Code Maintainability: A Case Study

February 13, 2024 8 minutes read High .NET Code Maintainability is the key to achieve both happy management and happy developers: Maintainability lets a product evolve naturally at a sustained...
NDepend February 13, 2024

.NET Native AOT Explained

December 7, 2023 7 minutes read Within the realm of software development, optimizing performance and streamlining efficiency remain essential. The .NET platform has been innovating for 2 decades to provide...
NDepend December 7, 2023

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 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

Visual Studio vs Visual Studio Code: The Ultimate Guide

November 6, 2023 8 minutes read In the world of .NET development, two popular tools stand out: Visual Studio and Visual Studio Code. Both of these tools have their unique strengths...
NDepend November 6, 2023

Class vs Struct in C#: Making Informed Choices

August 1, 2023 9 minutes read In C# programming, choosing the right data type between classes and structs is a crucial decision that impacts application performance and design. This article presents...
NDepend August 1, 2023

.NET Build Improvement: Stop Wasting Resources

February 4, 2023 5 minutes read I am working on .NET development full-time since 2002 and there is a point that still annoys me after all these years: the default...
NDepend February 4, 2023

The NDepend GitHub Action is now available!

January 25, 2023 3 minutes read NDepend is a tool for .NET developers and teams that assesses the code quality within the IDE and the CI-CD process. With 17 years...
NDepend January 25, 2023

Deconstruction in C#

January 18, 2023 2 minutes read C# 7.0 introduced the deconstruction syntax. It allows developers to extract in a single expression, properties of an object or elements of a tuple...
NDepend January 18, 2023

C# 11 Raw String Literals Explained

August 25, 2022 3 minutes read C# 11 introduces Raw String Literals. Undoubtedly this feature will become very popular because it represents an elegant way to solve some issues with...
NDepend August 25, 2022

Modern C# Hello World

November 23, 2021 6 minutes read With Visual Studio 2022 when you create a new console project based on .NET 6, the Hello World source code generated is now as...
NDepend November 23, 2021

Implementing a Domain with POCO (Plain Old CLR Objects)

April 8, 2021 5 minutes read Here is a remark I noticed on my recent post Clean Architecture for ASP.NET Core Solution: A Case Study and I’d like to detail...
NDepend April 8, 2021

Is Artificial Intelligence Assisted Coding the Next Developer Productivity Silver Bullet?

January 26, 2021 9 minutes read The famous Fred Brooks paper “No Silver Bullet – Essence and Accident in Software Engineering“ published in 1987 stated that: “there is no single development,...
NDepend January 26, 2021

The proper usages of the keyword ‘static’ in C#

December 8, 2020 6 minutes read The keyword static is somewhat awkward in a pure Oriented-Object world. I would like to explain here what are the right usages of static I...
NDepend December 8, 2020

When your brain can’t handle the complexity: NDepend and PostSharp

November 2, 2020 5 minutes read The size and complexity of codebases have exploded in the last decade. What can you do when your codebase no longer fits your brain?...
NDepend November 2, 2020

New C#9 keywords ‘and’ ‘or’ ‘not’

October 5, 2020 4 minutes read HoweverThe C#9 language introduces new controversial keywords: and keyword: Conjunctive patterns. Require both patterns to match or keyword: Disjunctive patterns. Require either pattern to...
NDepend October 5, 2020

.NET 5.0 App Trimming and Potential for Future Progress

September 28, 2020 7 minutes read In this article we will: go through the various ways to publish a .NET 5.0 application, play with .NET 5.0 app trimming to reduce...
NDepend September 28, 2020

10 Visual Studio Files and Layout Productivity Tips

July 21, 2020 3 minutes read Nowadays most developers are working remotely. Hence the monitor(s) configuration might have changed, and might change frequently. In this context, it does matter to...
NDepend July 21, 2020

Top 10 Visual Studio Refactoring Tips

July 7, 2020 6 minutes read With the version 2019 Visual Studio is now mature when it comes to refactoring. This post proposes a tour of the top 10 most...
NDepend July 7, 2020

12 Visual Studio Debugging Productivity Tips

June 30, 2020 7 minutes read In this post we assume the the reader knows the basics of debugging with Visual Studio: F5 to start running with the debugger F9...
NDepend June 30, 2020

Not planning now to migrate your .NET 4.8 legacy, is certainly a mistake

January 16, 2020 4 minutes read 2020 will see the achievement of the massive remodeling of the .NET platform initiated by Microsoft in November 2014 with the introduction of .NET...
NDepend January 16, 2020

Ensure that your classes are declared as sealed when possible

July 10, 2019 3 minutes read Inheritance is one of the pillar of OOP. However, in the real world, most classes are not designed to be properly inheritable. Properly designing...
NDepend July 10, 2019

An in-depth analysis of .NET Core 3.0 support for WPF and Winforms APIs

February 28, 2019 5 minutes read .NET Core 3.0 will be RTM soon and it supports WPF and Winforms APIs. In my last post I’ve been exploring .NET Core 3.0...
NDepend February 28, 2019

New .NET Core 2.1 and ASP.NET Core 2.1 APIs

March 8, 2018 3 minutes read .NET Core 2.1 and ASP.NET Core 2.1 Preview1 have just been released (see here the official announcement) and we are going to explore new...
NDepend March 8, 2018

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

Migrating from HTTP to HTTPS in a IIS / ASP.NET environment

September 5, 2017 5 minutes read Google is urging more and more webmasters to move their sites to HTTPS for security reasons. We did this move last week for our IIS...
NDepend September 5, 2017

Why NDepend Uses Google’s Page Rank

May 25, 2017 4 minutes read I remember my early days of blogging as sort of a comedy of errors.  Oh, don’t get me wrong.  I don’t think those early...
Erik Dietrich May 25, 2017

How to Evaluate Your Static Analysis Process

April 27, 2017 1 minutes read I often get inquiries from clients and prospects about setting up and operationalizing static analysis.  This makes sense.  After all, we live in a...
Erik Dietrich April 27, 2017

Static Analysis for the Build Machine?

October 20, 2016 2 minutes read I remember my earliest experiences with static analysis.  Probably a decade ago, I started to read about it during grad school and poke around...
Erik Dietrich October 20, 2016

How to Analyze a Complex Solution

June 23, 2016 2 minutes read I’ve made no secret that I spend a lot of time these days analyzing code bases as a consultant, and I’ve also made no...
Erik Dietrich June 23, 2016