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)

Problem tests

In the context of software testing, “test smells” refer to indicators that a test may have issues or could be improved. These issues can affect the reliability and maintainability of the test suite. Here are some common test smells and related concepts in the context of C#:

  1. Fragility:
    • Description: Fragile tests are prone to break when the application undergoes changes, even if the changes are unrelated to the functionality being tested.
    • Example: A test that breaks when non-essential UI changes are made.
  2. Flakiness:
    • Description: Flaky tests produce different results under the same conditions. They may pass or fail inconsistently, making it difficult to rely on their results.
    • Example: A test that passes sometimes and fails other times without any code changes.
  3. Erratic tests:
    • Description: Erratic tests exhibit unpredictable behavior. They might produce different results on different test runs or environments.
    • Example: A test that fails on a developer...