NDepend Blog

Improve your .NET code quality with NDepend

Include IL Offset into Production Exception Stack Traces

February 2, 2021 3 minutes read In a previous post The proper usages of Exceptions in C# I explained that it is important to get as much information as possible...
NDepend February 2, 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

Visual Studio IntelliCode : AI Assisted Coding

January 19, 2021 5 minutes read We are all amazed by recent progresses made possible thanks to Artificial Intelligence (AI). In 2017 Microsoft announced Visual Studio IntelliCode which used Machine...
NDepend January 19, 2021

How we quickly refactored with Resharper more than 23.000 calls to Debug.Assert() into more meaningful assertions

January 11, 2021 6 minutes read Since the NDepend inception more than 15 years ago, we stuffed our code with calls to Debug.Assert(). This results today in more than 23.000...
NDepend January 11, 2021

The proper usages of Exceptions in C#

December 16, 2020 9 minutes read The C# exception basics are generally well understood. However exceptions are often used as a way to sweep error handling duty under the carpet....
NDepend December 16, 2020

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

Code Smell – Primitive Obsession and Refactoring Recipes

December 1, 2020 5 minutes read Primitives are the real building blocks of your class and its use is obviously inevitable. But the real problem starts when they are not...
NDepend December 1, 2020

Using C#9 record and init property in your .NET Framework 4.x, .NET Standard and .NET Core projects

November 25, 2020 2 minutes read C#9 record and C#9 init property are really nice addition to the language. As explained in C#9 records: immutable classes, both are syntactic sugar...
NDepend November 25, 2020

Visualize Code with Software Architecture Diagrams

November 10, 2020 9 minutes read The source code is the design. This famous motto means that no matter how many diagrams you draw and discuss with your colleagues, the...
NDepend November 10, 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

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

C#9 records: immutable classes

October 12, 2020 8 minutes read Record is a long time awaited feature now proposed by C# 9. With record we have a concise syntax to define immutable types this...
NDepend October 12, 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

Top 10 .NET 5.0 new APIs

September 21, 2020 9 minutes read When a new major .NET version hits Release Candidate, it is time to use the NDepend code review changes capabilities to browse which new...
NDepend September 21, 2020

Architecture of a C# game rendered with Blazor, Xamarin, UWP, WPF, and Winforms

September 15, 2020 5 minutes read When I wrote my last post Blazor Internals you need to know I came across this great project on github: AsteroidsWasm. This project is...
NDepend September 15, 2020

Blazor Internals you need to know

September 3, 2020 9 minutes read Lately the Blazor technology received a lot of attention both from Microsoft and from the .NET community. Blazor is a UI technology. The ASP.NET...
NDepend September 3, 2020

14 Visual Studio Web Development Productivity Tips

July 28, 2020 5 minutes read Visual Studio proposes quite a few handy tools to boost your productivity as a web developer. Here are some tips focused around web code...
NDepend July 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

10 Visual Studio Navigation Productivity Tips

July 14, 2020 6 minutes read A large code base is a complex asset. Visual Studio is a complex environment. In this context developers spend a significant part of their...
NDepend July 14, 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

10 Visual Studio Ninja Code Editor Productivity Tips

June 24, 2020 3 minutes read Among the multiple daily development tasks (planning, testing, refactoring, bug fix…) code edition is arguably the most satisfying one. Code edition can be even...
NDepend June 24, 2020

10 Visual Studio Solution Explorer Productivity Tips

June 17, 2020 5 minutes read The Visual Studio Solution Explorer panel is like home for Visual Studio users. It presents all projects, source files and items thanks to a...
NDepend June 17, 2020

Case Study : Complex UI Testing

April 29, 2020 6 minutes read In the previous post Case Study: 2 Simple Principles to achieve High Code Maintainability I explained that the principles layered code + high coverage...
NDepend April 29, 2020

Advices to Become a Remote Programmer

March 10, 2020 6 minutes read With the actual COVID-19 worldwide outbreak many programmers are already forced to work remote, and we can expect that most of us will soon...
NDepend March 10, 2020

Don’t rely on someone else to protect your software

February 20, 2020 4 minutes read This morning I stumbled on this post Decompilation of C# code made easy with Visual Studio on the Visual Studio blog. Basically VS will...
NDepend February 20, 2020

Mythical man month : 10 lines per developer day

February 10, 2020 4 minutes read The mythical book, Mythical man month quotes that no matter the programming language chosen, a professional developer will write on average 10 lines of code...
NDepend February 10, 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

4 Predictions for the Future of .NET

October 8, 2019 6 minutes read In May 2019, Microsoft officially announced .NET 5, the future of .NET: it will be based on all the .NET Core work already achieved....
NDepend October 8, 2019