Are you a C# developer keen on enhancing code quality and maintainability? If yes, this "From Zero to Hero" course called "Refactoring for C# Developers" is tailor-made for you! This course will equip you with practical skills and the latest practices to refactor any C# codebase. Starting with an overview of refactoring, its importance, and when it's needed, the course delves into various modern and clean refactoring techniques. The best part? The course uses real-world examples to demonstrate how to transform a codebase to make it more efficient, readable, and extendable. With a focus on hands-on learning, guided examples are provided to demonstrate the refactoring process. But that's not all! The course also covers the implications of refactoring on team collaboration and project scalability. By the end of this course, you'll have a solid grasp of refactoring practices, which you can apply directly to your C# development projects. This course is delivered by Nick Cosentino, a Principal Software Engineering Manager at Microsoft, and is based on years of hands-on experience in the field.
What is refactoring?
What are the general goals of refactoring?
Renaming private members
Renaming public members
Replace with temp query
Return early / reduce nesting
Extract and inject
Parameters to parameter object
Replace conditional with polymorphism and composition
Rule of 3 and DRY
Pull up method
Form template method
What is a rewrite vs refactor?
What are the pros of rewriting?
What are the cons of rewriting?
Mitigating risks in large refactors
Introducing the example
Weather web response
Rule of three + DRY on DTOs
Strangler fig + repository facade
Summary of example
Summary & Thank You
Nick Cosentino is a Principal Software Engineering Manager at Microsoft and a .NET content creator. He manages the teams responsible for deploying the hundreds of services supporting the Microsoft365 suite of products to serve users across the planet. Nick brings his unique experiences to the Big Tech world having worked at a startup that scaled from a handful of employees to hundreds before it went public.
Nick runs a software engineering and dotnet-focused blog as well as a YouTube channel called Dev Leader. While he enjoys solving complex problems with software solutions, Nick is passionate about reducing barriers for people to get started on their software engineering journey.More courses by Nick Cosentino