Refactoring with C#

Software projects start as brand-new greenfield projects, but invariably become muddied in technical debt far sooner than you’d expect. In Refactoring with C#, you'll explore what technical debt is and how it arises before walking through the process of safely refactoring C# code using modern tooling in Visual Studio and more recent C# language features using C# 12 and .NET 8. This book will guide you through the process of refactoring safely through advanced unit testing with XUnit and libraries like Moq, Snapper, and Scientist .NET. You'll explore maintainable code through SOLID principles and defensive coding techniques made possible in newer versions of C#. You'll also find out how to run code analysis and write custom Roslyn analyzers to detect and resolve issues unique to your code.

The nature of coding is changing, and you'll explore how to use AI with the GitHub Copilot Chat to refactor, test, document, and generate code before ending with a discussion about communicating technical debt to leadership and getting organizational buy-in to refactor your code in enterprise organizations and in agile teams.

By the end of this book, you'll understand the nature of refactoring and see how you can safely, effectively, and repeatably pay down the technical debt in your application while adding value to your business.

Type
ebook
Category
publication date
2023-11-24
what you will learn

Understand technical debt, its causes and effects, and ways to prevent it
Explore different ways of refactoring classes, methods, and lines of code
Discover how to write effective unit tests supported by libraries such as Moq
Understand SOLID principles and factors that lead to maintainable code
Use AI to analyze, improve, and test code with the GitHub Copilot Chat
Apply code analysis and custom Roslyn analyzers to ensure that code stays clean
Communicate tech debt and code standards successfully in agile teams

no of pages
434
duration
868
key features
Apply a wide range of refactoring techniques using the latest tools and features of C# * Discover ways to safely improve your code using tests, Roslyn analyzers, and AI assistance * Find ways of communicating technical debt and improving your code in agile and enterprise settings * Purchase of the print or Kindle book includes a free PDF eBook
approach
The approach taken in the book for teaching refactoring to readers is structured, practical, and hands-on. It aims to provide readers with a comprehensive understanding of code refactoring principles and techniques while enabling them to apply these concepts effectively in real-world scenarios.
audience
This book is for any developer familiar with C# who wants to improve the code they work with on a day-to-day basis. While this book will be most beneficial to new developers with only a year or two of experience, even senior engineers and engineering managers can make the most of this book by exploring not just the process of refactoring, but advanced techniques with libraries like Moq, Snapper, Scientist .NET, and writing custom Roslyn analyzers.
meta description
Learn how to improve the maintainability of C# code using modern tools and techniques to resolve technical debt while working safely and efficiently with legacy code
short description
In Refactoring with C#, you’ll explore the process of safely refactoring modern .NET code using Visual Studio features, advanced unit tests, AI assistance, and custom Roslyn analyzers.
subtitle
Safely improve .NET applications and pay down technical debt with Visual Studio, .NET 8, and C# 12
keywords
Github actions, dotNET, C sharp, C sharp programming book, Github copilot, Managing technical debt
Product ISBN
9781835089989