Friday, June 11, 2010

Đạo code (Phần 4: Lập trình)

Phần 4: Lập trình

Lập Trình Sư nói:
"Chương trình tốt tự tạo ra thiên đường cho mình, chương trình tồi tự tạo ra địa ngục giam mình"

4.1

Chương trình cần hết sức gọn nhẹ, nên được cấu tạo từ nhiều hàm liên kết như chuỗi ngọc vậy. Tư tưởng và mục đích của chương trình phải liền mạch, không ngắt quãng. Mạch này không nên quá dài, không nên quá ngắn, không nên có biến thừa, không nên có vòng lặp có thể giản lược, không nên thiếu cấu trúc, không nên quá cứng nhắc.
Chương trình cần tuân theo "Luật hạn chế shock". Luật đó là gì? Đơn giản là khi trả lời người sử dụng, chương trình cần hạn chế tối đa việc gây bất ngờ cho họ.
Một chương trình dù phức tạp đến đâu cũng nên hoạt động như một đơn vị độc lập. Chương trình nên chú trọng đến logic bên trong hơn là giao diện bên ngoài.

* * *

Một chương trình không đáp ứng được những yêu cầu trên sẽ vô cùng lộn xộn. Cách duy nhất để sửa chữa là viết lại chương trình.

4.2

Lập trình phu hỏi Lập Trình Sư: "Thưa, chương trình con viết lúc chạy lúc không mặc dù con đã tuân theo quy tắc lập trình. Con cảm thấy vô cùng bế tắc. Đâu là nguyên nhân thảm cảnh này?"
Lập Trình Sư đáp: "Ngươi bối rối vì ngươi chưa ngộ Đạo. Chỉ có kẻ ngốc mới luôn đòi hỏi một hành động dựa trên lý trí từ phía con người. Vậy thì tại sao ngươi lại đòi hỏi điều đó từ thứ mà con người tạo ra? Máy móc chỉ là máy móc, Đạo mới là hoàn hảo. Quy tắc lập trình chỉ là nhất thời, Đạo mới là mãi mãi. Thế nên để được khai sáng, ngươi phải suy ngẫm về Đạo"
"Vậy làm sao để con nhận ra là mình đã được khai sáng?", lập trình phu hỏi.
"Chương trình của ngươi khi đó sẽ chạy trơn tru", Lập Trình Sư đáp.

4.3

Một Lập Trình Sư giảng về bản chất của Đạo cho một đồ đệ. "Đạo nằm trong tất cả các phần mềm dù phần mềm đó thấp kém đến đâu", Lập Trình Sư nói.
"Trong máy tính cầm tay có Đạo chứ?", đồ đệ hỏi.
"Có", Lập Trình Sư đáp.
"Trong trò chơi điện tử có Đạo chứ?", đồ đệ tiếp.
"Tất nhiên, kể cả trong trò chơi điện tử cũng có Đạo", Lập Trình Sư đáp.
"Cả trong hệ điều hành DOS cho máy tính cá nhân nữa chứ?"
Lập trình sư ho một tiếng, người ông khẽ rung lên "Bài giảng hôm nay kết thúc" ông nói.

4.4

Lập trình phu của thái tử viết một phần mềm, ngón tay phu như nhảy múa trên bàn phím. Chương trình khi dịch không có một lỗi và chạy mượt như cơn gió nhẹ.
"Kinh khủng quá" thái tử thốt lên, "Kỹ năng của túc hạ thật hoàn hảo!"
"Kỹ năng ư?", phu rời mắt khỏi màn hình, "Thứ tại hạ tuân theo là Đạo - vượt trên mọi kỹ năng! Khi tại hạ bắt đầu lập trình, tại hạ thấy toàn bộ bài toán trong một khối hỗn độn. Ba năm sau tại hạ không còn thấy khối hỗn độn nữa. Thay vào đó là những hàm con. Nhưng bây giờ tại hạ không còn thấy gì nữa. Toàn bộ bài toán hoàn toàn không tồn tại trong code. Tri thức của tại hạ trở nên nhàn nhã. Tư tưởng của tại hạ không cần kế hoạch, tự do hoạt động theo bản năng. Tóm lại, chương trình của tại hạ có thể tự lập trình. Thực sự thỉnh thoảng nó cũng gặp một số lỗi lớn. Thấy lỗi xuất hiện, tại hạ chậm rãi, lặng lẽ theo dõi. Rồi tại hạ sửa một dòng code và lỗi lớn vừa xuất hiện đã tan biến như làn khói mỏng. Sau đó tại hạ dịch lại chương trình, ngồi yên tận hưởng cảm giác hân hoan chảy trong cơ thể. Tại hạ nhắm mắt một lúc rồi log off".
"Giá như lập trình phu của ta ai cũng khôn ngoan như thế!" thái tử nói.

No comments:

Post a Comment