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)

Service resilience and fault tolerance

Service resilience and fault tolerance are two critical aspects of building robust and reliable software systems, particularly in the context of microservices architecture and distributed systems. Both concepts aim to ensure that the system can continue to function properly and provide essential services, even in the face of failures or adverse conditions. Let’s explore each concept:

  • Service resilience: Service resilience refers to the ability of a system or a service to remain responsive and operational in the presence of failures, errors, or unexpected conditions. Resilience is about gracefully handling failures and degradations, rather than trying to prevent failures entirely (which can be impractical or costly).

    The following are some key aspects of service resilience:

    • Failure isolation: Resilient services are designed to isolate failures, ensuring that a failure in one service does not propagate and affect other parts of the...