Rock Your Code: Code & App Performance for Microsoft .NET (4th Edition)

"Rock Your Code: Code & App Performance for Microsoft .NET" is a comprehensive guide that emphasizes the importance of optimizing code performance for enhanced user experience and backend efficiency. With practical insights and example code, developers learn essential practices for maximizing the performance of their business applications within the Microsoft .NET framework. From string manipulation to leveraging source generators, this edition covers a wide range of topics, including new chapters on code analysis and benchmark testing. Written for developers using Microsoft .NET 8 and Visual Studio 2022, this book offers timeless principles applicable across different versions of .NET, ensuring relevance and utility in any environment.

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.

Code It Any Way You Want: Expression-Bodied Methods vs. Traditional Methods

The article discusses the use of expression-bodied methods in .NET as an alternative to traditional methods for creating simple functions. It presents a comparison between the two methods in terms of syntax and performance. Despite the syntactical differences, benchmark results show that both methods demonstrate similar performance characteristics.

General Performance Tip: Retrieving the Nullable Value from a Reference Type

The article discusses two methods for retrieving nullable values from reference types in C#, showcasing examples using the ternary conditional expression and the null coalesce approach. Benchmark results indicate that the null coalesce approach demonstrates 1.12 times higher efficiency in performance compared to the ternary conditional expression.

From Visual Basic to Visual Studio: A Journey Through Microsoft’s IDE Evolution

The author shares their journey from Visual Basic 2 in 1992 to the latest tools like Visual Studio and Visual Studio Code (VS Code). They emphasize the evolution of Microsoft's IDEs for software, web, and database development. They advocate for a hybrid approach of using IDEs for efficiency and familiarizing with CLI commands for flexibility.

dotNetDave Rocks The Bay.NET User Group

The dotNetDave No Rest for the Wicked World Tour is holding a virtual session on code and app performance for Microsoft .NET, tailored to .NET 8, on June 20th. The session will cover optimizing code performance and minimizing memory footprint, with insights from the latest performance metrics outlined in the fourth edition of "Rock Your Code: Code & App Performance for Microsoft". For more details, visit https://www.meetup.com/baynet/events/301041843.

Collection Performance: Exercise Caution When Using Take() with a Basic Count

The article advises caution when using the LINQ method Take() with a basic count, suggesting that a range might be recommended by code analyzers. However, benchmark results indicate that using Take() with a simple count is 1.63 times faster than employing a range in such cases.

Collection Performance: Looping Over a Collection Using Span and ReadOnlySpan

The article explores the performance benefits of utilizing Span and ReadOnlySpan for collection processing, highlighting advantages such as improved performance, reduced memory pressure, enhanced safety, and compatibility with modern API design. Span allows read-write access and efficient iteration with lightweight storage, while ReadOnlySpan provides read-only access to prevent accidental modifications, offering similar benefits for collection processing.

Code It Any Way You Want: Performance Considerations for Sealed and Internal Classes

This article explores the historical belief that sealed and internal classes in .NET might offer performance advantages, but suggests that in modern .NET runtimes, compiler optimizations, and hardware advancements, the difference in performance is likely negligible, emphasizing that design considerations should drive decisions regarding class sealing or internalization rather than performance concerns.

Collection Performance: Optimizing Sequence Comparison

The article discusses different methods for comparing two collections for identity in programming. It introduces the use of the SequenceEqual() method for comparing sequences in the LINQ extension methods, as well as the StructuralSequenceEqual() method, which is beneficial for comparing custom classes based on the values of their elements rather than object references.

General Performance Tip: Type Conversion

This article explores type conversion in programming, comparing the traditional syntax with the newer "as" keyword in .NET. While the "as" keyword improves code readability, benchmark results suggest that the conventional method is slightly more performant, advising developers to stick with traditional type conversion unless significant performance improvements are observed with the "as" keyword.