NDepend Blog

Improve your .NET code quality with NDepend

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

Simplifying a Visual Studio extension menu: A Case Study

April 2, 2019 4 minutes read NDepend version 2019.2.1 has just been released. This new version proposes a simplified menu for the NDepend Visual Studio extension. Before going further I...
NDepend April 2, 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

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

Service Oriented Architecture: A Dead Simple Explanation

January 8, 2019 1 minutes read Service-oriented architecture (SOA) has been with us for a long time. The term first appeared in 1998, and since then it’s grown in popularity....
Erik Dietrich January 8, 2019

C# Features: An Exhaustive List of the Best Ones

December 18, 2018 1 minutes read The first post I wrote for the NDepend blog was about C# 8.0 features. That post inspired a sequel, followed by the series’ final...
Erik Dietrich December 18, 2018

Coupling in Programming: What This Means and How Not to Get Burned

December 4, 2018 1 minutes read What is coupling in programming? Is it something we want to avoid when we design and write code? If so, why? And more importantly,...
Erik Dietrich December 4, 2018

Mentoring Software Developers as an Architect

November 27, 2018 1 minutes read A while back we discussed the unique career path architects have to travel. We wrote that article for developers who want to advance their...
Erik Dietrich November 27, 2018

Self Documenting Code vs. Comments? Turns Out It’s Both or Neither

November 20, 2018 1 minutes read It’s been about a month since my last research post, and I’ve been musing about the next topic.  What should it be?  Well, I’ve...
Erik Dietrich November 20, 2018

Should Architects Write Code? You Bet They Should!

October 30, 2018 1 minutes read There’s a common misconception that’s permeated our profession: Architects don’t need to write code to do their jobs. Now, this may seem like a...
Erik Dietrich October 30, 2018

When Is It Okay to Use a C# Partial Class?

October 16, 2018 1 minutes read Today’s post attempts to answer a very simple and straightforward question: “When is it OK to use a C# partial class?” And the answer as...
Erik Dietrich October 16, 2018

Extension Methods and the Decline of Traditional OOP

October 9, 2018 1 minutes read A bunch of years ago, I wrote a post on my own personal blog titled, “Why I Don’t Like C# Extension Methods.”  Over the...
Erik Dietrich October 9, 2018

Shotgun Surgery: What It Is and How to Stop It

October 2, 2018 1 minutes read I really love the name “shotgun surgery” for describing a code smell.  It’s sort of an interesting mix of aggressive and comical, and so...
Erik Dietrich October 2, 2018