Introduction

Hello, Explorer! Today is about refactoring. Consider it as organizing your favorite toys in the toybox. We're going to learn about the Extract Method, Rename Method, and Substitute Algorithm refactorings. Refactoring helps us make our code cleaner and neater while keeping the functionality the same!

Refactoring Overview

Imagine having a complex map. Refactoring transforms it into simpler directions. Our code gets rearranged to make it more readable and efficient without altering what it does. Let's consider a small code snippet before and after refactoring:

PHP
// Before refactoring
function calculate($total, $quantity) {
    $price = $total / $quantity;
    $tax = $price * 0.2;
    $totalPrice = $price + $tax;
    return $totalPrice;
}

// After refactoring
function calculateTotalPrice($total, $quantity) {
    $price = calculatePrice($total, $quantity);
    $tax = calculateTax($price);
    return $price + $tax;
}

function calculatePrice($total, $quantity) {
    return $total / $quantity;
}

function calculateTax($price) {
    return $price * 0.2;
}

Both versions of the code do the same thing, but the latter is simpler and easier to understand!

Understanding the Extract Method
Using Rename Method

Clear method names make it easy to understand our code, just as clear street names make navigating a city more accessible. Let's have a look at renaming a method:

// Before refactoring
function fx($x) {
    return 3.14 * ($x * $x); // Calculates a value that is pi times the square of x
}

// After refactoring
function calculateCircleArea($radius) {
    return 3.14 * ($radius * $radius); // Calculates the area of a circle with a given radius
}

Renaming the function fx to calculateCircleArea makes it easier to understand its purpose.

Sign up
Join the 1M+ learners on CodeSignal
Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal