THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 105

Gi i pháp này đúng đ n, nh ng ch a hi u qu l m. B n có th nghĩ ra l i gi i nào không c n đ n tính

ư

ư

ả ắ

ế

l p hay không?

11.10 Các ph

ng th c đi n

ươ

Thay vì vi c t o nên đ i t

ng m i m i khi

ệ ạ

ố ượ

addTime đ

c kích ho t, ta có th yêu c u ch

ng trình g i

ượ

ươ

hãy cung c p m t đ i t

ng n i mà

ộ ố ượ

ơ

addTime l u k t qu . Hãy so sánh đo n mã sau v i phiên b n tr

c:

ư

ế

ướ

public static void

addTimeFill(Time t1, Time t2, Time sum) {

sum.hour = t1.hour + t2.hour;

sum.minute = t1.minute + t2.minute;

sum.second = t1.second + t2.second;

if

(sum.second >= 60.0) {

sum.second -= 60.0;

sum.minute += 1;

}

if

(sum.minute >= 60) {

sum.minute -= 60;

sum.hour += 1;

}

}

K t qu đ

c l u trong

ế

ả ượ ư

sum, nên ki u tr v là

ả ề void.

Các ph

ng th c s a đ i và ph

ng th c đi n đ u hi u qu vì chúng không ph i t o nên đ i t

ng m i.

ươ

ứ ử

ươ

ả ạ

ố ượ

Nh ng chúng l i gây khó khăn trong vi c cô l p các ph n khác nhau c a ch

ng trình; trong nh ng d

ư

ươ

án l n chúng có th gây nên l i r t khó tìm ra.

ỗ ấ

Các hàm thu n túy giúp ta qu n lý tính ch t ph c t p c a nh ng d án l n, ph n là nh ngăn không cho

ứ ạ ủ

nh ng lo i l i nh t đ nh không th x y ra. H n n a, hàm thu n túy còn thích h p v i nh ng ki u l p

ạ ỗ

ấ ị

ể ả

ơ

ể ậ

trình ghép và l ng. Và vì k t qu c a hàm thu n túy ch ph thu c vào tham s , ta có th tăng t c cho

ế

ả ủ

nó b ng cách l u gi nh ng giá tr đã tính toán t tr

c.

ư

ừ ướ

Tôi g i ý r ng b n nên vi t hàm thu n túy m i lúc th y đ

c, và ch dùng đ n ph

ng th c s a đ i khi

ế

ượ

ế

ươ

ứ ử

th y rõ u đi m v

t tr i.

ư

ượ

11.11 L p k ho ch và phát tri n tăng d n

ế

Trong ch

ng trình này tôi gi i thi u m t quá trình phát tri n ch

ng trình v i tên g i

ươ

ươ

l p nguyên

m u nhanh

1

. V i t ng ph

ng th c, tôi vi t m t b n s th o đ th c hi n tính toán c b n, r i ki m

ớ ừ

ươ

ế

ộ ả ơ ả

ể ự

ơ ả

tra nó v i m t vài tr

ng h p, s a nh ng l i b t g p đ

c.

ườ

ỗ ắ ặ

ượ

Cách ti p c n này có th hi u qu , song nó có th d n đ n mã l nh ph c t p m t cách không c n thi t—

ế ậ

ể ệ

ể ẫ

ế

ứ ạ

ế

vì nó x lý quá nhi u tr

ng h p đ c bi t—và cũng kém tin c y—vì th t khó t thuy t ph c r ng b n đã

ườ

ế

ụ ằ

tìm th y

t t c

ấ ả nh ng l i trong ch ng trình.

ươ

M t cách khác là xem xét kĩ h n v n đ nh m tìm m u ch t có th giúp vi c l p trình d dàng h n.

ơ

ệ ậ

ơ

Trong tr

ng h p này đi m m u ch t bên trong là:

ườ

Time th c ra là m t s có ba ch s trong h c s

ộ ố

ữ ố

ệ ơ ố

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.