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

CodeSignal

Refactoring with Confidence Using Tests in Ruby & RSpec

via CodeSignal

Overview

This course hones in on the Refactor stage of TDD, equipping developers to recognize code smells and resolve them with refactoring techniques. Through practical examples, learn to detect common inefficiencies, implement refactoring strategies, and ensure functionality with existing tests.

Syllabus

  • Unit 1: Eliminating Code Duplication and Refactoring Magic Numbers in Ruby
    • Refactoring and Simplifying Test Setup in ShoppingCart Class
    • Refactoring Tests in ShoppingCart to Reduce Duplication Using Parameterized Tests
    • Refactoring Duplicated Logic in ShoppingCart Class
    • Refactoring ShoppingCart Class to Eliminate Duplication in Totals Calculation
    • Refactoring Magic Numbers in ShoppingCart Class
  • Unit 2: Refactoring Long Methods in Ruby Through Method Extraction
    • Refactoring User Registration Service by Extracting Validation Logic
    • Refactoring Address Validation into Separate Class
    • Refactoring User Data Normalization Logic in Ruby
    • Refactoring User ID Generation and Data Storage
    • Refactoring Result Type Extraction in User Registration Service
  • Unit 3: Refactoring Complex Method Signatures in Ruby Using Parameter Objects
    • Refactoring with ScoreWeights Parameter Object in Ruby
    • Refactor process_exam_score with CoursePolicy Parameter Object
    • Refactor Parameter Ordering in process_exam_score Function
    • Refactor process_exam_score Function with Default Parameter Values
  • Unit 4: Refactoring Feature Envy in Ruby Through Method Relocation
    • Refactoring Feature Envy in Ruby's Grade Analysis System
    • Refactoring Calculate Final Grade Method in Ruby's Student Class
    • Refactoring the get_failed_assignments Method in Ruby's Student Class
    • Refactoring StudentGrade Management into a Dedicated Collection Class
  • Unit 5: Refactoring Large Classes in Ruby Through Class Extraction
    • Refactor Shopping Cart by Extracting CartItemCollection Class
    • Refactor Shopping Cart by Extracting PriceCalculator Class
    • Refactor ShoppingCart by Extracting DiscountCalculator Class
    • Implement Tests for Discount and Price Calculators in Ruby

Reviews

Start your review of Refactoring with Confidence Using Tests in Ruby & RSpec

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.