Refactoring by Leveraging Tests with Java & JUnit
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.
Lessons and practices
Refactor Duplicate Code in the Tests
Refactor Tests using Parameterization
Extract Function: calculateItemCost
Refactor Duplication between Calculate Functions
Refactor Magic Numbers to Constants
Extract User Validation
Extracting Validation into Validator Classes
Extract Data Normalization
Focusing on the Data Store
Streamline Parameters with a Parameter Object
Introduce a CoursePolicy Parameter Object
Re-order Parameters for Cohesion
Provide Defaults for Most Parameters
Extract StudentGrade Logic
Refactor: Move Method calculateFinalGrade
Getting rid of the GradeAnalyzer
Eliminate Feature Envy from the Student
Extract a CartItemCollection
Extract a PriceCalculator Class
Extract a DiscountCalculator Class
Write Tests for Extracted Classes
Interested in this course? Learn and practice with Cosmo!
Practice is how you turn knowledge into actual skills.