NDepend Blog

Improve your .NET code quality with NDepend

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

.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

Find API Breaking Changes in your .NET Libraries and Frameworks

September 24, 2019 3 minutes read If you are developing a framework, the last thing you want to happen when releasing a new version of your product is to break...
NDepend September 24, 2019

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

Answers to arguments against 100% coverage

September 10, 2019 7 minutes read I’ve been enthusiast about 100% coverage for more than a decade. The large code base of NDepend we are working on will reach soon...
NDepend September 10, 2019

Static Analysis and Dependency Injection

September 3, 2019 4 minutes read For quite some years now, we (the NDepend team) got some demand about resolving Dependency Injection, see this page on our User Voices. Lately...
NDepend September 3, 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

Identify .NET Code Structure Patterns with no Effort

July 16, 2019 7 minutes read The two pillars of code maintainability are automatic testing and clean code structure. Testing is used to regularly challenge code correctness and detect regression...
NDepend July 16, 2019

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

The continuous adaptation of Visual Studio extensions

July 4, 2019 5 minutes read One could think that developing an extension for a two-decades+ product as mature as Visual Studio is headache-less. Not really. Visual Studio is a...
NDepend July 4, 2019