Refactoring for C# Developers
Refactoring is a critical developer skill that helps keep code from collapsing under its own weight. Learn how to recognize "code smells" that may indicate the need for refactoring and how to fix them with specific techniques and patterns.
What you'll learn
Over time, software design tends to degrade, and systems become increasingly difficult to maintain. In this course, you'll learn how to recognize and evaluate potential flaws in your system's design, known as "code smells." You'll be introduced to code smells at the statement, method, and class levels in C# applications. You'll also learn about the process of refactoring your code to eliminate design flaws and improve its maintainability. Finally, you'll learn how to apply dozens of specific refactorings to common, known problems in C# applications. When you're finished with this course, you'll have the skills and knowledge needed to identify code quality problems and correct them with quick and reliable refactoring techniques.
Table of contents
- Objectives 1m
- Smell: Long Method 7m
- Smell: Conditional Complexity 3m
- Smell: Inconsistent Abstraction Level 1m
- Specific Method Refactorings 1m
- Extract Method 1m
- Rename Method 2m
- Inline Method 3m
- Introduce Explaining Variable 2m
- Inline Temp 1m
- Replace Temp With Query 1m
- Split Temporary Variable 2m
- Parameterize Methods 2m
- Replace Parameter with Explicit Methods 2m
- Add Parameter 2m
- Remove Parameter 2m
- Separate Query from Modifier 5m
- Key Takeaways 1m
- Objectives 1m
- Smell: Large Class 2m
- Smell: Class Doesn't Do Much 1m
- Smell: Temporary Field 2m
- Smell: Alternative Classes with Different Interfaces 1m
- Smell: Parallel Inheritance Hierarchies 3m
- Smell: Data Class 4m
- Smell: Feature Envy 1m
- Smell: Hidden Dependencies 2m
- Specific Class Refactorings 0m
- Encapsulate Field 2m
- Encapsulate Collection 4m
- Move Method 2m
- Extract Class 1m
- Replace Inheritance with Delegation 4m
- Replace Conditional with Polymorphism 6m
- Key Takeaways 4m