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...
Architecture of a .NET Application: 8 Case Studies
January 30, 2024 9 minutes read This recent question on Reddit’s Number of projects per solution led to interesting debates. Of course, the answer depends largely on the overall size...
C# Record Explained
January 23, 2024 7 minutes read A C# record is a data-centric type that usually doesn’t contain behaviors. C# 9 introduced the keyword record to quickly declare a class primarily...
C# ValueTuple Full Guide
January 18, 2024 9 minutes read In 2017 C# 7.0 introduced ValueTuple. This feature makes it convenient to handle lightweight data structures. Here is an example of relying on the...
WPF vs WinForms – Making the Right Decision in 2024
January 12, 2024 7 minutes read If you’re a developer faced with the decision of selecting between Windows Presentation Foundation (WPF) and Windows Forms (WinForms) commonly referred to as WPF...
A Guide to Code Coverage Tools for C# in 2024
January 11, 2024 3 minutes read In this post, we’ll go through 8 different .NET code coverage tools and list their features to help you make a decision. But first,...
Following the Software Architecture Career Path
January 10, 2024 3 minutes read I can recall a certain day in my career with remarkable clarity. I say remarkable because this happened well over a decade ago, when...
.NET – 7 Decompiler Compared (2024)
January 10, 2024 9 minutes read Looking to reverse engineer or disassemble some .NET code? Then learning how to decompile .NET assemblies is an essential skill for any .NET developer...
C# Index and Range Operators Explained
December 11, 2023 3 minutes read In this post, we are demystifying both the C# index ^ and range .. operators most comprehensively. The index operator ^ Let’s start with...
.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...
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....
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...
SOLID Design in C#: The Liskov Substitution Principle (LSP)
November 13, 2023 7 minutes read The Liskov Substitution Principle (LSP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented features. Named after...
SOLID Design in C#: The Single Responsibility Principle (SRP)
November 9, 2023 7 minutes read The Single Responsibility Principle (SRP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented features....
SOLID Design in C#: The Dependency Inversion Principle (DIP) with Examples
November 8, 2023 8 minutes read The Dependency Inversion Principle (DIP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented...
Visual Studio Enterprise vs. Professional: Essential Differences in 2023
November 8, 2023 1 minutes read If you’re a .NET developer, chances are you’re using Visual Studio, the go-to product for developing .NET applications. However, with several versions available, it...
Improve C# code performance with Span<T>
November 7, 2023 9 minutes read The structure Span<T> in the namespace System appeared with C# 7.2 in 2017. Span<T> offers type-safe access to a contiguous region of memory. Such...
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...
REST vs. RESTful: The Difference and Why the Difference Doesn’t Matter
November 2, 2023 1 minutes read REST API is one of the most popular APIs in the web development community. What’s the difference between a REST API and a RESTful...
C# Async Await Explained
November 2, 2023 9 minutes read In 2012 C#5 was released. This version introduced two new keywords async and await. At that time CPU clock speed reached an upper limit...
Software Architecture Document? Do You Need One?
November 1, 2023 1 minutes read In the spirit of the Agile Manifesto, we’ve reduced our dependence on software documentation. In some ways, this has improved our lives. And in...
.NET 8 Top 10 New Features
October 23, 2023 7 minutes read .NET 8 will be officially release very soon in November 2023. Designated as an LTS (Long Term Support) version, it guarantees ongoing support, updates,...
Unveiling the Impressive Features of Upcoming C# 12
October 23, 2023 5 minutes read Microsoft unveils new features in C# 12 Preview. C# 12 along with .NET 8 will be officially released in November 2023. Let’s explore the...
Vertical Slice Architecture in ASP.NET Core
October 20, 2023 6 minutes read The organization of code in a solution is a subject of frequent debates. Currently, two prominent approaches have garnered attention: Clean Architecture versus Vertical...
Clean Architecture in ASP.NET Core
October 20, 2023 9 minutes read The Clean Architecture approach has gained significant popularity for the design and development of software applications, emphasizing key principles such as maintainability, testability, and...
Improve Visual Studio Build Performance
August 11, 2023 7 minutes read Time is your most precious asset and slow build is high in the list of developer’s productivity killers. With slow build the penalty is...
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...
Improved .NET Debugging Experience with Source Link
June 20, 2023 3 minutes read Source Link is a Microsoft technology that lets .NET developers debug the source code of NuGet packages referenced by their applications. I underlined source...
.NET Micro-Optimization and Refactoring Trick
May 31, 2023 3 minutes read Recently, I made an interesting observation regarding Dictionary<string,T>: the method TryGetValue() is faster when building with new Dictionary<string,T>(StringComparer.Ordinal). This performance difference can be attributed...
C#12 class and struct Primary Constructors
April 13, 2023 3 minutes read Since C#9 we have the convenient primary constructor syntax for class record (or just record) and struct record: [crayon-65f20307056ed477656024/] C#12 introduces primary constructor for...