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)

Recursion

Recursion is a programming concept where a function calls itself to solve a problem. In the context of functional programming in C#, recursion is a powerful technique that’s used to solve complex problems by breaking them down into simpler subproblems that can be solved recursively.

In functional programming, the focus is on expressing computations as the evaluation of mathematical functions rather than changing state or modifying variables. Recursion aligns well with this paradigm because it allows you to define functions that operate on smaller pieces of data, gradually reducing the problem’s size until a base case is reached, at which point the solution can be computed and propagated back up the call stack.

Here’s a step-by-step explanation of how recursion works in functional C# programming:

  1. Base case: Every recursive function needs a base case. This is the simplest form of the problem that can be solved directly without further recursion...