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)

Overview of functional programming in C#

Functional programming in C# is a programming paradigm that emphasizes writing code in a declarative and immutable manner, treating computation as the evaluation of mathematical functions. In this approach, functions are first-class citizens, which means they can be assigned to variables, passed as arguments to other functions, and returned as results from functions. The central idea is to model computations as the composition of pure functions, where the output solely depends on the input, without any side effects or mutable state.

Here are some key characteristics of functional programming in C#:

  • Immutability: In functional programming, data is treated as immutable, meaning once created, it cannot be changed. Instead of modifying existing data, functional programs create new data with updated values, which helps in maintaining a more predictable and reliable state.
  • Pure functions: Pure functions are functions that produce the...