Trang chủ » Blog » [Thực hành] Refactoring – đổi tên biến và tách hằng

[Thực hành] Refactoring – đổi tên biến và tách hằng

bởi CodeGym | 26/12/2023 17:15 | Bài thực hành | Blog

Mục tiêu

Refactoring – đổi tên biến và tách hằng- Luyện tập kỹ thuật đổi tên biến.

Điều kiện- Refactoring- đổi tên biến và tách hằng

Biết cách sử dụng kỹ thuật tái cấu trúc được sử dụng là: Đổi tên biến và Tách hằng.

Mô tả- Refactoring- đổi tên biến và tách hằng

Trong phần này, chúng ta sẽ thực hiện thao tác tái cấu trúc mã nguồn của một ứng dụng có sẵn:

https://github.com/codegym-vn/php-cleancode-refactoring-renaming

Kỹ thuật tái cấu trúc được sử dụng: Đổi tên biến và Tách hằng.

Hướng dẫn

Bước 1: Chạy dự án có sẵn

Clone dự án từ địa chỉ: https://github.com/codegym-vn/php-cleancode-refactoring-renaming

Mở mã nguồn dự án trong file Calculator và CalculatorTest để tìm hiểu mã nguồn.

Bước 2: Đổi tên biến a, b và o trong lớp Calculator

Trong mã nguồn hiện tại, các tên biến a, b và o không diễn đạt được ý nghĩa của nó. Cần thực hiện việc đổi tên biến này.

  • Biến a: firstOperand – toán hạng đầu tiên
  • Biến b: secondOperand – toán hạng thứ hai
  • Biến o: operator – toán tử

Mã nguồn sau khi đổi tên:

class Calculator
{
    public function calculate($firstOperand, $secondOperand, $operator) {
        switch ($operator) {
            case '+':
                return $firstOperand + $secondOperand;
            case '-':
                return $firstOperand - $secondOperand;
            case '*':
                return $firstOperand * $secondOperand;
            case '/':
                if ($secondOperand != 0) {
                    return $firstOperand / $secondOperand;
                } else {
                    echo("Can not divide by 0");
                    break;
                }
            default:
                echo ("Unsupported operation");
        }
    }
}

Bước 3: Đổi tên biến a, b và o trong lớp CalculatorTest

Mã kiểm thử cũng cần đảm bảo tiêu chí “clean”, do đó chúng ta cần thực hiện thao tác đổi tên các biến a, b và o tương tự như trong lớp Calculator

Bước 4: Tách hằng

Trong mã nguồn hiện tại, các giá trị ‘+’, ‘-‘, ‘*’ và ‘/’ được coi là các giá trị “thần kỳ”. Chúng ta cần tách các giá trị này thành các hằng số để mã nguồn clean hơn.

  • Giá trị ‘+’: ADDITION – toán tử cộng
  • Giá trị ‘-‘: SUBTRACTION – toán tử trừ
  • Giá trị ‘*’: MULTIPLICATION – toán tử nhân
  • Giá trị ‘/’: DIVISION – toán tử chia

Mã nguồn sau khi tách hằng:

const ADDITION = '+';
const SUBTRACTION = '-';
const MULTIPLICATION = '*';
const DIVISION = '/';
class Calculator
{
    public function calculate($firstOperand, $secondOperand, $operator) {
        switch ($operator) {
            case ADDITION:
                return $firstOperand + $secondOperand;
            case SUBTRACTION:
                return $firstOperand - $secondOperand;
            case MULTIPLICATION:
                return $firstOperand * $secondOperand;
            case DIVISION:
                if ($secondOperand != 0) {
                    return $firstOperand / $secondOperand;
                } else {
                    echo("Can not divide by 0");
                    break;
                }
            default:
                echo ("Unsupported operation");
        }
    }
}

Lưu ý: Sau mỗi bước refactor thì cần chạy lại các test case để đảm bảo mã nguồn vẫn hoạt động tốt.

Với mã đã clean bên trên bạn hoàn toàn có thể suy nghĩ đến việc cần biến các thông báo lỗi thành hằng, thử suy nghĩ xem điều này sẽ có lợi gì nếu bạn đang xây dựng một ứng dụng lớn, triển khai đa quốc gia?

Trên đây CodeGym đã cùng với bạn luyện tập kỹ thuật đổi tên biến. Hãy chụp ảnh màn hình và nộp bài thực hành của bạn trên CodeGymX để cùng nhau luyện tập nhé!

Tags:

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

4 + 13 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM