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:

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:

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é!


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.