LẬP TRÌNH CĂN BẢN - Trang 133

/codegym.vn/ - 128

Gây ra việc khó sử dụng khi truyền tham số khi gọi. Để khắc phục lỗi này, chúng ta
cần tìm một tên có ý nghĩa để đặt cho hàm này.
Nên:

1.

function

sum

(

firstNumber

,

secondNumber

)

{

2.

// Đoạn mã tính tổng hai tham số

3.

}

Quy tắc #2: Một hàm chỉ thực hiện một công việc duy nhất

Tránh trường hợp bên trong hàm thực hiện nhiều hơn 2 hành động, như vậy mục đích
của hàm được tạo ra sẽ bị sai lệch về ý nghĩa. Điều này sẽ dẫn đến việc khó kiểm
soát và khó bảo trì về sau.
Ví dụ:
Hàm getDaysOfMonth() sau đây được khai báo để trả về số ngày trong tháng.

1.

function

getDaysOfMonth

(

month

,

year

)

{

2.

switch

(

month

)

{

3.

case

1

:

4.

case

3

:

5.

case

5

:

6.

case

7

:

7.

case

8

:

8.

case

10

:

9.

case

12

:

10.

return

31

;

11.

case

4

:

12.

case

6

:

13.

case

9

:

14.

case

11

:

15.

return

30

;

16.

case

2

:

17.

let

isLeapYear

=

false

;

18.

if

(

year

%

4

===

0

)

{

19.

if

(

year

%

100

===

0

)

{

20.

if

(

year

%

400

===

0

)

{

21. isLeapYear

=

true

;

22.

}

23.

}

else

{

24. isLeapYear

=

true

;

25.

}

26.

}

27.

if

(

isLeapYear

)

{

28.

return

29

;

29.

}

30.

return

28

;

31.

}

32.

}

Thoạt nhìn thì chúng ta thấy hàm này được triển khai khá tốt, và trả về kết quả đúng
như mong đợi. Tuy nhiên, xét kỹ hơn thì chúng ta lại thấy hàm này đang làm hai nhiệm
vụ: tính số ngày trong tháng và kiểm tra năm nhuận. Điều này là không tốt, do đó
chúng ta cần tách hàm này thành các hàm nhỏ hơn.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.