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.
Category: Defensive Programming
Microsoft .NET Code Analysis: Choosing Between String.Contains() and String.IndexOf()
In this article, we explore Microsoft's recommendation to utilize the String.Contains() method instead of String.IndexOf() for improved code readability. We provide code examples to illustrate this suggestion and discuss its relevance in the context of common coding practices, referencing its application in Entity Framework source code and adherence to coding standards like CA2249.
Microsoft .NET Code Analysis: Remove Unnecessary Lambda Expressions
Microsoft recommends removing redundant Lambda expressions, which can be identified based on specific conditions such as the presence of method invocations, matching parameters, and other criteria. The article provides an example of code improvement by eliminating unnecessary Lambda expressions in Entity Framework source code, addressing violations like IDE0200.
Microsoft .NET Code Analysis: Improving Code Quality with Exception Throw Helpers
Improve your C# code's clarity and adherence to coding standards by using Microsoft's recommended throw helpers for exception handling. This article demonstrates how to apply these helpers for common exceptions, like ArgumentNullException and ArgumentException, with real-world examples from the Entity Framework source code.
Microsoft .NET Code Analysis: Enhance Your Code Performance with Concrete Types
Discover the performance benefits of using concrete types over abstract or interface types in your code. Learn from a real-world Entity Framework example and gain practical insights into improving code quality and efficiency through this optimization technique.
Microsoft .NET Code Analysis: Optimizing String Methods for Performance – Leveraging Character Over String for Enhanced Efficiency
The article suggests using the string.Method(char) approach instead of string.Method(string) for strings containing a single character to improve performance. It highlights an example where this optimization can be applied in the Entity Framework source code and mentions that this deviation from the recommended guideline occurred 34 times in the codebase. The article also references violation codes CA1865 – CA1867 and mentions their severity settings in the .editorConfig file. Update March, 2024.
Microsoft .NET Code Analysis: Avoid Using Constant Arrays as Arguments
In this article, the author delves into the intricacies of the Entity Framework codebase, uncovering 168 instances that require optimization to boost performance. Explore the valuable insights and strategies for fine-tuning your Entity Framework application to ensure it operates at its peak efficiency.
Ensuring Robustness with Bulletproof Disposable Types in Microsoft .NET
The article emphasizes the importance of proper handling of disposable objects in .NET projects to avoid memory-related issues. It discusses the creation of "bulletproof" disposable types using extension methods, such as TryDispose() for local variables, DisposeFields() for managing disposable fields, and DisposeCollection() for handling disposable objects in collections. Additionally, the author recommends using a memory profiler, specifically ".NET Memory Profiler" by SciTech Software AB, to ensure there are no virtual memory leaks in the application before deployment.
Microsoft .NET Code Analysis: Random Is an Insecure Random Number Generator
The article discusses a security vulnerability in the use of the Random class for generating random numbers in .NET and recommends switching to the more secure RandomNumberGenerator for cryptographic and security-critical applications. The RandomNumberGenerator not only provides better security but also offers superior randomness and significant performance improvements in .NET 8. Updated September 2023.
Microsoft .NET Code Analysis: Simplify the New Expression for C#
The article discusses the introduction of a simplified new expression syntax in .NET 5, which allows for more concise and readable object initialization. The new syntax offers advantages such as reduced boilerplate code, improved readability, support for immutable types, and enhanced IDE integration.

You must be logged in to post a comment.