Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

CodeSignal

Refactoring by Leveraging Your Tests with Swift and XCTest

via CodeSignal

Overview

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.

Syllabus

  • Unit 1: Refactoring in Swift: Eliminating Code Duplication and Magic Numbers
    • Refactoring Test Setup in ShoppingCartTests
    • Refactoring Duplicated Test Cases in ShoppingCart Test Suite
    • Refactoring Duplicated Logic in ShoppingCart Class
    • Refactoring Magic Numbers in ShoppingCart Class
  • Unit 2: Refactoring in Swift: Extract Method for Improved Code Maintainability
    • Refactor User Registration Service by Extracting Validation Logic
    • Refactor User Registration Service by Extracting Address Validation Logic
    • Refactor User Registration Service by Extracting Data Normalization Logic
    • Refactor User Registration Service to Use RandomIDGenerator and Update DataStore Interface
  • Unit 3: Refactoring in Swift: Simplifying Function Signatures with Parameter Objects
    • Refactor ProcessExamScore with ScoreWeights Parameter Object
    • Refactor ProcessExamScore with CoursePolicy Parameter Object
    • Refactor ProcessExamScore Function by Reordering Parameters for Clarity
    • Refactor ProcessExamScore Function to Include Default Parameter Values
  • Unit 4: Refactoring in Swift: Addressing Feature Envy with Move Method
    • Refactoring Feature Envy in GradeAnalyzer with Swift
    • Refactoring Feature Envy in GradeAnalyzer with Swift
    • Refactoring Feature Envy by Moving getFailedAssignments to Student Class
    • Refactoring Feature Envy by Introducing StudentGradeCollection in Swift
  • Unit 5: Refactoring in Swift: Tackling Large Classes with Extract Class Technique
    • Refactoring Shopping Cart with Extract Class Technique in Swift
    • Refactoring ShoppingCart with PriceCalculator Class in Swift
    • Refactoring ShoppingCart with DiscountCalculator Class in Swift
    • Implementing Tests for DiscountCalculator and PriceCalculator in Swift

Reviews

Start your review of Refactoring by Leveraging Your Tests with Swift and XCTest

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.