Tr v
ở ề M c l c
ụ ụ cu n sách
ố
C.1 Các chi n l
c
ế ượ
Trong cu n sách tôi đã trình bày nh ng chi n l
c khác nhau đ phát tri n ch
ng trình, b i v y gi
ố
ữ
ế ượ
ể
ể
ươ
ở ậ
ờ
đây tôi mu n t p h p chúng l i. N n t ng c a t t c chi n l
c này cùng là
ố ậ
ợ
ạ
ế ả
ủ ấ ả
ế ượ
phát tri n tăng d n
ể
ầ , v n
ố
nh sau:
ư
1.L y đi m kh i đ u là ch
ng trình ch y đ
c, ch th c hi n m t đ ng tác d th y, ch ng h n in d
ấ
ể
ở ầ
ươ
ạ
ượ
ỉ ự
ệ
ộ ộ
ễ ấ
ẳ
ạ
ữ
li u nào đó.
ệ
2.M i lúc ch b sung thêm m t ít dòng l nh, và c thay đ i m t l n l i ph i ki m tra ch
ng trình.
ỗ
ỉ ổ
ộ
ệ
ứ
ổ
ộ ầ ạ
ả
ể
ươ
3.L p l i công đo n đ n khi ch
ng trình th c hi n đ
c vi c d ki n.
ặ ạ
ạ
ế
ươ
ự
ệ
ượ
ệ ự ế
Sau m i thay đ i, ch
ng trình ph i cho k t qu nhìn th y đ
c đ ki m tra đo n mã l nh m i b sung.
ỗ
ổ
ươ
ả
ế
ả
ấ
ượ ể ể
ạ
ệ
ớ ổ
Cách ti p c n l p trình nh th này có th ti t ki m cho ta nhi u th i gian.
ế ậ ậ
ư ế
ể ế
ệ
ề
ờ
B i m i lúc b n ch thêm có m t vài dòng l nh, nên r t d tìm ra các l i cú pháp. Và vì m i phiên b n
ở
ỗ
ạ
ỉ
ộ
ệ
ấ ễ
ỗ
ỗ
ả
ch
ng trình l i t o nên k t qu nhìn th y đ
c, nên b n liên t c ki m tra mô hình nh n th c c a mình
ươ
ạ ạ
ế
ả
ấ
ượ
ạ
ụ
ể
ậ
ứ ủ
v cách ch
ng trình ho t đ ng. N u mô hình nh n th c b sai, b n s đ i m t v i mâu thu n (và có c
ề
ươ
ạ ộ
ế
ậ
ứ ị
ạ ẽ ố
ặ ớ
ẫ
ơ
h i s a ch a mô hình đó) tr
c khi vi t ra nhi u dòng l nh sai.
ộ ử
ữ
ướ
ế
ề
ệ
Th thách c a vi c phát tri n tăng d n là không d hình dung ra con đ
ng d n t kh i đi m đ n ch
ử
ủ
ệ
ể
ầ
ễ
ườ
ẫ ừ
ở
ể
ế
ỗ
ch
ng trình hoàn thi n và đún đ n. Đ giúp cho đi u này, có m t vài chi n l
c ta có th ch n l a:
ươ
ệ
ắ
ể
ề
ộ
ế ượ
ể ọ ự
Đóng gói và khái quát hoá:
N u b n ch a bi t cách chia bài toán thành các ph ng th c, thì hãy vi t mã l nh trong
ế
ạ
ư
ế
ươ
ứ
ế
ệ
main,
r i tìm nh ng bó l nh rõ r t đ gói chúng vào m t ph ng th c, r i khái quát hoá m t cách phù
ồ
ữ
ệ
ệ ể
ộ
ươ
ứ
ồ
ộ
h p.
ợ
L p nguyên m u nhanh:
ậ
ẫ
N u b n đã bi t c n vi t ph ng th c gì, song ch a bi t cách vi t nó th nào, thì hãy b t tay vi t m t
ế
ạ
ế ầ
ế
ươ
ứ
ư
ế
ế
ế
ắ
ế
ộ
b n nháp đ x lý tr ng h p đ n gi n nh t, sau đó th nó v i nh ng tr
ng h p khác, v a vi t v a
ả
ể ử
ườ
ợ
ơ
ả
ấ
ử
ớ
ữ
ườ
ợ
ừ
ế ừ
m r ng và s a l i.
ở ộ
ử ỗ
H
ng t d
i lên:
ướ
ừ ướ
B t đ u b ng vi c vi t nh ng ph ng th c đ n gi n, r i ghép chúng l i thành l i gi i.
ắ ầ
ằ
ệ
ế
ữ
ươ
ứ ơ
ả
ồ
ạ
ờ
ả
H
ng t trên xu ng:
ướ
ừ
ố
Dùng gi mã đ thi t k c u trúc c a bài toán r i nh n di n nh ng ph ng th c mà b n c n. Sau đó
ả
ể
ế ế ấ
ủ
ồ
ậ
ệ
ữ
ươ
ứ
ạ ầ
vi t các ph ng th c r i thay th gi mã v i mã th t.
ế
ươ
ứ ồ
ế ả
ớ
ậ
Trong quá trình phát tri n, b n có th c n ph i d ng “dàn giáo”. Ch ng h n, m i l p c n ph i có m t
ể
ạ
ể ầ
ả ự
ẳ
ạ
ỗ ớ ầ
ả
ộ
ph
ng th c
ươ
ứ toString đ cho phép b n in ra tr ng thái c a m t đ i t ng d i d ng ng i đ c đ c.
ể
ạ
ạ
ủ
ộ ố ượ
ướ ạ
ườ ọ ượ
Ph
ng th c này r t có ích cho vi c g l i, song th
ng không thu c v ch
ng trình hoàn thi n.
ươ
ứ
ấ
ệ ỡ ỗ
ườ
ộ ề ươ
ệ
C.2 Các hình th c th t b i
ứ
ấ ạ
N u b n đang ph i m t quá nhi u th i gian vào vi c g l i, có th là do b n đang dùng m t chi n l
c
ế
ạ
ả
ấ
ề
ờ
ệ ỡ ỗ
ể
ạ
ộ
ế ượ
phát tri n không hi u qu . Sau đây là nh ng hình th c th t b i mà tôi th
ng g p nh t (và cũng đôi khi
ể
ệ
ả
ữ
ứ
ấ ạ
ườ
ặ
ấ