Book Image

Clean Code with C# - Second Edition

By : Jason Alls
4.5 (2)
Book Image

Clean Code with C# - Second Edition

4.5 (2)
By: Jason Alls

Overview of this book

Traditionally associated with Windows desktop applications and game development, C# has expanded into web, cloud, and mobile development. However, despite its extensive coding features, professionals often encounter issues with efficiency, scalability, and maintainability due to poor code. Clean Code in C# guides you in identifying and resolving these problems using coding best practices. This book starts by comparing good and bad code to emphasize the importance of coding standards, principles, and methodologies. It then covers code reviews, unit testing, and test-driven development, and addresses cross-cutting concerns. As you advance through the chapters, you’ll discover programming best practices for objects, data structures, exception handling, and other aspects of writing C# computer programs. You’ll also explore API design and code quality enhancement tools, while studying examples of poor coding practices to understand what to avoid. By the end of this clean code book, you’ll have the developed the skills needed to apply industry-approved coding practices to write clean, readable, extendable, and maintainable C# code.
Table of Contents (18 chapters)

Lazy evaluation

Lazy evaluation in C# is a functional programming technique that postpones the evaluation of an expression or computation until the result is needed. Instead of immediately computing the value of an expression when it is defined, lazy evaluation allows the value to be computed only when it is requested for the first time. This can improve performance and reduce unnecessary computations, especially for expensive or time-consuming operations.

In C#, lazy evaluation is commonly achieved using the Lazy<T> class, which is part of the .NET Framework. The Lazy<T> class allows us to defer the execution of a computation and ensures that the computation is executed only once, no matter how many times the value is accessed.

Here’s an example of lazy evaluation in C# using Lazy<T>:

using System;public class Example
{
    private static Lazy<int> lazyValue = new Lazy<int>(() => ComputeValue());
   ...