Khi viết chương trình, tức là ta đang tìm cách
biến những ý tưởng thông minh trong đầu thành mã thực.
Ở đây tôi muốn nói về kỹ thuật
mà nhiều lập trình viên áp dụng để thực hiện điều đó
và ta gọi đó là “mã giả”.
Hiện tại có lẽ các bạn chưa từng nghe đến mã giả
nhưng về cơ bản, đó là loại mã nhìn rất giống tiếng Anh
hay thực chất, là bất cứ loại ngôn ngữ nào ta muốn sử dụng.
Được rồi, nghe có vẻ vô lý
vậy nên ta cùng xem một ví dụ cụ thể nhé.
Giả sử ta muốn vẽ một khuôn mặt xinh đẹp, cân đối.
Tôi sẽ bắt đầu bằng cách tự soi gương,
phác thảo khuông mặt mình
và thấy rằng, được rồi mình có khuôn mặt trái xoan,
2 mắt và nằm ở khoảng này
và đây là trung tâm của khuôn mặt,
Bây giờ tôi đã có ý tưởng về dung nhan khuôn mặt của mình.
Tôi sẽ bắt đầu viết bằng mã giả.
Xem nào, đầu tiên là
vẽ khuôn mặt trái xoan ở chính giữa.
Sau đó ta sẽ vẽ 2 mắt,
2 hình bầu dục, vị trí 2/3 khuôn mặt
và có lẽ khoảng 1/5 kích thước khuôn mặt.
Kích thước không chính xác lắm, tôi chỉ đang nhìn khuôn mặt của mình thôi.
Sau đó tôi sẽ vẽ miệng bằng một đường thẳng
đến nửa chừng khuôn mặt
và có lẽ là 1/3 khuôn mặt tính từ dưới lên.
Hãy chú ý cách tôi viết mã giả dưới dạng comment
bằng cách bắt đầu từng dòng với 2 dấu gạch chéo.
Như vậy tôi có thể viết mã giả trong chương trình
mà không phải lo gặp bất kỳ lỗi cú pháp nào
vì chương trình sẽ bỏ qua comment.
Sau khi viết xong bằng mã giả,
tôi có thể dành thời gian để biến từng
dòng mã giả này thành các đoạn mã thực.
Được rồi, cùng quan sát nhé.
Với khuôn mặt, hình bầu dục ở trung tâm.
Tôi sẽ sử dụng hàm ellipse
và chỉ định trung tâm màn hình ở đây
rồi tìm một kích thước phù hợp.
OK, trông đẹp rồi đấy.
Với mắt, ta lại sử dụng hàm ellipse.
Tất cả mọi thứ trên mặt tôi đều có hình bầu dục, tôi tròn lắm.
Mắt sẽ ở, xem nào, ta sẽ tính toán một chút
để đưa mắt vào vị trí phù hợp
và cho chúng kích thước cân đối.
OK, con mắt đầu tiên đẹp rồi đấy,
tôi sẽ sao chép và dán để tạo con mắt tiếp theo.
Tuyệt vời.
Bây giờ, tôi thậm chí có thể để bạn mình
triển khai mã giả và có thể họ làm được chứ
vì tôi đã hướng dẫn kỹ lưỡng như thế này rồi mà.
Quyết định vậy đi, vì chúng ta là bạn mà, phải không?
Hẳn các bạn sẽ nghĩ việc này thật ngu ngốc,
tại sao lại phải tốn công
viết một chương trình 2 lần, lần đầu bằng ngôn ngữ của con người
rồi lần 2 bằng ngôn ngữ lập trình?
Ví dụ này khá đơn giản
nhưng sớm thôi các bạn sẽ phải xây dựng những chương trình phức tạp hơn
và có thể các bạn sẽ khó mà giữ được toàn bộ chương trình
trong đầu trước khi lập trình,
vì vậy tôi thường viết ý tưởng chung
bằng mã giả trước rồi mới dành thời gian
cho chi tiết của từng phần ý tưởng đó,
biến từng dòng mã giả thành mã thật.
Tôi nghĩ một khi bắt đầu sử dụng mã giả,
các bạn sẽ thấy thích hơn đấy.
Hãy thử trong chương trình tiếp theo nhé.