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...
Top 10 New .NET 6.0 API
July 7, 2021 5 minutes read .NET 6 introduces new handy APIs that will make our development journey easier. Let’s go through the top 10 new API in terms of...
How to Logically Name Embedded Resources in .csproj?
June 16, 2021 1 minutes read You can work with .NET for two decades and still discover some useful stuff. One thing that bothered me till now is that an...
Migrating Delegate.BeginInvoke Calls to .NET Core, .NET 5 and .NET 6
May 26, 2021 3 minutes read In this 2019 post, the .NET Base Class Library engineers announced that the good old Delegate.BeginInvoke .NET Framework syntax wasn’t supported in .NET Core...
On replacing Thread.Abort() in .NET Core
May 19, 2021 3 minutes read Thread.Abort() is not supported in .NET 5 / .NET Core We are actually migrating the NDepend analysis and reporting to .NET 5 and figured...
Visual Studio 2022 64 bits: Elements of history
May 11, 2021 7 minutes read Finally after all these years of waiting Visual Studio 2022 will run in a 64 bits process on 64 bits machines! As a consequence...
Clean Architecture Refactoring: A Case Study
April 27, 2021 9 minutes read Introduction to Clean Architecture The recent post Clean Architecture for ASP.NET Core Solution: A Case Study explained that one of the most interesting property...
Hungarian Notation for Fields in C#
April 21, 2021 6 minutes read If there is one topic that divides the C# developers community, it is the Hungarian notation for fields. In our team we rely on...
6 Reasons Visual Studio Theme Affects Productivity
April 14, 2021 4 minutes read Themes can be fascinating. Humans are vulnerable to attachments. It could be anything – person, thing, color, food, etc. some people are attracted to...
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...
8 Books to Improve as a .NET Developer
March 31, 2021 4 minutes read Nowadays all information a developer needs to know is available online for free. Blogposts and videos authored by experts, giant questions and answers websites,...
How to Plan Large-Scale Refactoring?
February 23, 2021 6 minutes read The .NET platform exists for two decades and nowadays the technology is evolving faster than ever. It is now time for serious .NET...
10 Reasons Why You Should Write Tests
February 9, 2021 8 minutes read As many, I started programming when I was a child 3 decades years ago. With no doubt, the most important practice I’ve adopted during...
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...
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,...
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...
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...
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....
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...
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...
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...
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...
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?...
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...
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...
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...
.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...
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...
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...
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...