This course focuses on the Refactor step in TDD, teaching developers to spot code smells and resolve them through refactoring. Using real-world examples, you'll identify common issues, apply refactoring techniques, and ensure functionality is preserved with existing tests.
Overview
Syllabus
- Unit 1: Eliminating Duplicate Code and Magic Numbers with Kotlin
- Refactoring Test Code for Maintainability in ShoppingCartTest
- Refactor Test Cases Using Parameterized Tests in ShoppingCartTest Suite
- Refactor the ShoppingCart to Eliminate Duplication
- Refactor ShoppingCart to Eliminate Loop Duplication
- Refactor ShoppingCart by Removing Magic Numbers
- Unit 2: Refactoring Long Methods in Kotlin with Extract Method Technique
- Refactor User Validation Logic in UserRegistrationService
- Refactor Address Validation to AddressValidator Class
- Refactor User Registration for Data Normalization
- User ID Generation and Registration Service Refactoring Task
- Unit 3: Refactoring Complex Function Signatures with Parameter Objects in Kotlin
- Refactor to Use ScoreWeights Parameter Object
- Parameter Object Refactoring for Exam Score Processing Task
- Refactor and Reorder Method Parameters for Clarity and Cohesion
- Refactoring Method with Default Parameters in Kotlin
- Unit 4: Refactoring Feature Envy in Kotlin with the Move Method Technique
- Refactoring Feature Envy in Kotlin Classes
- Refactor CalculateFinalGrade Method to Student Class
- Refactor getFailedAssignments Method in Student Class
- Refactoring Feature Envy: Extracting StudentGradeCollection Class
- Unit 5: Addressing Large Classes with the Extract Class Pattern in Kotlin
- Refactoring Shopping Cart for Single Responsibility Principle
- Enhancing ShoppingCart with PriceCalculator Refactoring
- Refactoring ShoppingCart with DiscountCalculator in Kotlin
- Implement Unit Tests for DiscountCalculator and PriceCalculator