Understanding the differences between reference types (classes) and value types (structs) is crucial for optimizing .NET application performance. This content offers benchmark-driven insights on when to use each type, emphasizing the impact of choice on execution efficiency. Mastering these concepts ensures high-performance code in your applications.
Category: Code Quality
Rock Your Code: Coding Standards for Microsoft .NET (8th Edition)
The 8th edition of the book, Rock Your Code: Coding Standards for Microsoft .NET, is available on Amazon. It consolidates Microsoft .NET coding standards and provides supplementary directives. Drawing insights from Microsoft’s code inspection tools, the book covers topics such as project setup, naming standards, class design, coding style, and more. The book's purpose is to facilitate superior code quality and swift integration of new team members. It's designed for use with Visual Studio 2022, C#, and .NET 8.
Microsoft .NET Code Analysis: Add Explicit Cast in foreach() Loops
The article highlights the importance of adding an explicit cast in foreach loops when dealing with collections to avoid potential runtime issues caused by hidden casting. It also suggests simplifying the code using LINQ and optimizing performance by using `AddRange()`.
Microsoft .NET Code Analysis: Make Collection Properties Read-Only
The article discusses the common programming practice of providing access to data collections through properties and highlights the issue of mutability in such properties, which can lead to undesirable collection replacements. To adhere to best practices, the article recommends either removing the property setter or using the init modifier to make the property read-only, emphasizing that read-only properties with collections are supported by binary and XML serialization.
Microsoft .NET Code Analysis: Simplify LINQ Expressions
The article discusses simplifying LINQ expressions in source code by eliminating unnecessary Where() methods and placing predicates directly in FirstOrDefault(). This not only improves code readability but also demonstrates a 1.9 times performance improvement in .NET 8.
Microsoft .NET Code Analysis: Utilize the Pattern Matching ‘not’ Operator
The article discusses how developers can improve code performance and readability by replacing explicit type checks with pattern matching, eliminating the need for redundant type conversions and enhancing code efficiency.
Microsoft .NET Code Analysis: Utilize Pattern Matching to Eliminate the Need for an ‘is’ Check
The author identifies inefficiencies in type conversions within a code sample from the Entity Framework codebase, suggesting improvements through pattern matching. They note 22 instances requiring fixes and recommend using their updated EditorConfig file for similar analyses. Feedback on their open-source project, Spargine, is welcomed.
Microsoft .NET Code Analysis: Use nameof() To Retrieve the Parameter Name
The article discusses the importance of using `nameof()` in code to retrieve parameter names, highlighting how it helps prevent issues when parameter names change during refactoring by automatically updating them in exception handling. Additionally, it mentions that `nameof()` provides performance benefits by generating names during the build process rather than at runtime.
Using Explicit Operators in Microsoft .NET to Perform Type Conversions
This article outlines the implementation of explicit conversion operators in .NET to manage type conversions effectively. By creating a public static explicit operator and a corresponding conversion method, developers can streamline conversion logic. A practical example illustrates converting a value-type Person to a reference-type Person, emphasizing benefits like type safety and cleaner code.
dotNetDave Rocks the Code Quality Conference 2023
The dotNetDave For Those About to Code: Worldwide Tour will be at the virtual Code Quality Conference 2023 on June 2nd. Last year we had over 30K software engineers watch the conference and I hope you will watch it this year to learn how to rock your code to release quality applications and services that meet your user's needs.

You must be logged in to post a comment.