Clean C#
Free!
Minimum price
$9.99
Suggested price
This book is 100% complete
Completed on 2018-08-31
About the Book
This book will help you write cleaner, more maintainable, more readable, and more pleasurable C# code.
Table of Contents
-
About The Author
-
Other Leanpub Books by Jason Roberts
- Keeping Software Soft
- C# Tips
- Pluralsight Courses
-
Other Leanpub Books by Jason Roberts
- About this Book
-
Introduction
- What is Clean C#?
- Why Clean C#?
-
Using this Book
- Code Samples
- Order
- Prescriptive
- Clean C# is a Spectrum
-
Comments
- Repeating What the Code Already Says
- Change Control Comments
- Comments as a Substitute for Self Documenting Code
- Commented-Out Code
- Pointless XML Documentation Comments
- Acceptable Use of Comments
-
Naming Things
-
Qualities of Clean Names
- Expressive
- Accurate
- Suitable Length
- Pronounceable Names
-
Naming Specific Items
- Namespaces
- Interfaces
- Classes
- Methods
- Properties
- Events
- Fields
- Attributes
- Method Parameters
- Variables
- Booleans
- Generic Types Parameters
- Enums
- Some General Rules
-
Qualities of Clean Names
-
Methods
- Method Size and Clarity
- Cohesive Methods
- Mixing Abstraction Levels
- Action or Answering Methods
-
Method Parameters
- Methods with Zero Parameters
- Methods with One Parameter
- Methods with Two Parameters
- Methods with Three Parameters
- Methods with More Than Three Parameters
- Refactoring to Reduce the Number of Parameters
- Params
- Output Parameters
- Named Arguments
- Boolean Switching Arguments
- Multiple Returns
- Code Duplication in Methods
- Methods with Side Effects
-
Structuring Programs for Readability
- Levels of Abstraction
- Method Level Abstractions
-
Errors and Exceptions
- Returning Error Codes
-
Using Exceptions
- Supplied Framework Exceptions
- Defining Custom Exceptions
-
Alternatives to Error Codes, Exceptions, and Returning Nulls
- Try Methods
- Special Case Design Pattern
-
Visual Formatting
- The Principle of Proximity
- The Principal of Similarity
- The Principal of Uniform Connectedness
- The Principal of Symmetry
-
Cohesion and Coupling
- Cohesion
- Coupling
-
Clean Tests
-
Qualities of Good Test
- Execution Speed
- Independent and Isolated
- Repeatable and Reliable
- Valuable
- Resilient to Production Code Changes
-
The Three Logical Phases of Tests
- The Arrange Phase
- The Act Phase
- The Assert Phase
- How Many Asserts?
- Simplifying Arrange Phase code with AutoFixture
-
Qualities of Good Test
-
Building On Clean Code
- The Single Responsibility Principle (SRP)
- The Open Closed Principle (OCP)
- The Liskov Substitution Principle (LSP)
- The Interface Segregation Principle (ISP)
- Keep It Simple Stupid (KISS)
- Don’t Repeat Yourself (DRY)
- You Aren’t Gonna Need It (YAGNI)
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms...