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)

AOP with PostSharp

Aspect-oriented programming (AOP) can be used with object-oriented programming (OOP). An aspect is an attribute applied to classes, methods, parameters, and properties that, at compile time, weaves code into the class, method, parameter, or property to which it is applied. This approach allows the cross-cutting concerns of a program to be moved from the business source code to a class library. Concerns are added where needed as attributes. The compiler then weaves the required code in at runtime. This keeps your business code small and readable. In this chapter, we will be using PostSharp.

We will be covering the following topics:

  • How AOP works with PostSharp
  • Extending the aspect framework
  • Project – Cross-cutting concerns reusable library
  • PostSharp and build pipeline considerations
  • Dynamic AOP with Castle.DynamicProxy

By the end of the chapter, you will understand the following:

  • How to use PostSharp in Visual Studio...