Trang chủ » Blog » [Thực hành] Refactoring – tách phương thức

[Thực hành] Refactoring – tách phương thức

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

Mục tiêu

Refactoring – tách phương thức- Luyện tập kỹ thuật tách phương thức.

Mô tả- Refactoring – tách phương thức

Trong phần này, chúng ta sẽ áp dụng kỹ thuật tách phương thức dựa trên mã nguồn có sẵn.

Hướng dẫn- Refactoring – tách phương thức

Bước 1: Chạy mã nguồn có sẵn

Tải mã nguồn về từ địa chỉ: https://github.com/codegym-vn/php-cleancode-refactoring-method-extraction

Mở file Cylinder.php và CylinderTest.php để tìm hiểu về mã nguồn.

Bước 2: Áp dụng kỹ thuật tách phương thức

Ở trong mã nguồn hiện tại, phương thức getVolume() đang thực hiện quá nhiều công việc:

  • Tính diện tích đáy
  • Tính chu vi của hình trụ
  • Tính thể tích của hình trụ

Do đó, chúng ta cần tách thành các phương thức riêng biệt để mã nguồn trở nên gọn gàng và dễ quản lý hơn.

Trong trường hợp này, chúng ta sẽ tách thêm 2 phương thức để thực hiện các nhiệm vụ:

  • getBaseArea(): Tính diện tích đáy
  • getPerimeter(): Tính chu vi

Mã nguồn sau khi tách phương thức:

class Cylinder
{
    public function getVolume($radius, $height)
    {
        $baseArea = $this->getPerimeter($radius);
        $perimeter = $this->getBaseArea($radius);
        $volume = $perimeter * $height + 2 * $baseArea;
        return $volume;
    }

    /**
     * @param $radius
     * @return float|int
     */
    public function getPerimeter($radius)
    {
        $baseArea = pi() * $radius * $radius;
        return $baseArea;
    }

    /**
     * @param $radius
     * @return float|int
     */
    public function getBaseArea($radius)
    {
        $perimeter = 2 * pi() * $radius;
        return $perimeter;
    }
}

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 đang hoạt động tốt.

Trên đây CodeGym đã cùng với bạn luyện tập kỹ thuật tách phương thức. 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.

2 + 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