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 Code Duplication and Refactoring in Rust
- Refactor ShoppingCart Test Suite for Maintainability
- Refactoring ShoppingCart Test Suite for Parameterization
- Refactor ShoppingCart to Remove Duplication
- Refactor ShoppingCart to Eliminate Loop Duplication
- Refactor Magic Numbers into Constants in ShoppingCart
- Unit 2: Refactoring Long Functions in Rust Using Extract Function Technique
- Refactor User Validation Logic in Registration Service
- Refactor Data Normalization Logic into Separate Function or Struct
- Unit 3: Structs as Parameter Objects in Rust: Simplifying Complex Function Signatures
- Refactor Code to Use ScoreWeights Parameter in ExamProcessor
- Refactor Exam Processor with Parameter Object Pattern in Rust
- Refactor Exam Score Function by Reordering Parameters
- Refactor and Provide Defaults for Exam Processor API
- Unit 4: Refactoring Feature Envy in Rust Using Struct Method Reallocation
- Refactor GradeAnalyzer for Better Encapsulation in Rust
- Refactor Grade Calculation to Student Struct
- Refactoring GetFailedAssignments Function to Reduce Feature Envy
- Refactoring Student Grade Management in Rust
- Unit 5: Addressing the "Large Struct" Code Smell by Extracting Into Focused Structs
- Refactor ShoppingCart to Use CartItemCollection for Item Management
- Refactor ShoppingCart with PriceCalculator Struct
- Refactor Discount Logic into DiscountCalculator Struct
- Implementing and Testing Shopping Cart Calculators in Rust