Đạo lập trình [4]

Quyển 4 – Viết mã

Lập trình sư truyền dạy rằng: “Một chương trình được viết tốt chính nó đã là một thiên đường; một chương trình tồi chính là địa ngục.”

Chương 4.1

Một chương trình cần gọn nhẹ và linh động, các hàm kết nối với nhau như một chuỗi ngọc trai. Tinh thần và mục tiêu của chương trình cần được duy trì tổng thể. Không được có quá nhiều hay quá ít, đừng có những vòng lặp thừa hay biến vô giá trị, đừng thiếu cấu trúc hay lại quá cứng nhắc.
Một chương trình cần tuân thủ “Luật gây ít bất ngờ nhất”. Luật lệ này là cái gì vậy? Đơn giản là chương trình cần đáp ứng yêu cầu người sử dụng theo cách ít gây ngạc nhiên nhất cho anh ta.

Một chương trình, không cần biết có phức tạp hay không, cần được tạo như một thể thống nhất. Chương trình nên được hướng theo tính logic nội tại thay vì vẻ bề ngoài.

Nếu một chương trình không đáp ứng những yêu cầu này, nó sẽ rơi vào hỗn loạn và hoang mang. Cách duy nhất để sửa là đập đi viết lại mà thôi.

Chương 4.2

Một lập trình viên tay non hỏi lập trình sư: “Em có một chương trình lúc chạy được, lúc tịt. Em đã làm theo các quy định về lập trình, nhưng em vẫn không hiểu. Lý do là gì thế nhỉ?”

Lập trình sư trả lời: “Em hoang mang bởi vì em chưa hiểu Đạo. Trên đời này chỉ có kẻ xuẩn ngốc mới mong chờ những hành xử lý trí từ nhưng người khác. Vì sao em lại mong đợi điều đo từ một cỗ máy mà con người tạo ra được nhỉ? Máy tính mô phỏng ý chí luận, chỉ có Đạo mới hoàn hảo mà thôi”.

“Những quy định lập trình là biến thiên; chỉ có Đạo là bất biến. Vì thế, em phải luyện Đạo trước khi có thể được khai sáng.”

“Nhưng làm thế nào để biết là em đã được khai sáng rồi ạ?” tay non tiếp tục hỏi?

“Là khi chương trình của em chạy ngon lành,” lập trình sư trả lời.

Chương 4.3

Một lập trình sư đang giảng giải bản chất của Đạo tới một trong số những học việc của mình. “Đạo hiện hữu trong mọi phần mềm – quan trọng hay không chưa phải là vấn đề”.

“Đạo có trong chương trình bàn tính điện tử hay không ạ?” học việc hỏi.

“Có chứ.”

“Thế Đạo cũng có trong trò chơi điện tử chứ?” học việc hỏi tiếp

“Thậm chí cũng có luôn trong trò chơi điện tử,” lập trình sư trả lời.

“Và Đạo có trong hệ điều hành DOS của máy tính cá nhân nữa chứ?”

Lập trình sư húng giọng và nhướn người một tý. “Bài học hôm nay dừng tại đây nhé.” ông nói.

Chương 4.4

Lập trình viên của hoàng tử Wang đang viết mã phần mềm. Các ngón tay nhảy múa trên bàn phím. Chương trình được biên dịch không có lỗi nào, và chạy như một làn gió nhẹ.

“Tuyệt diệu!” Hoàng tử thốt lên, “trình của cậu ngon choét!”

“Trình?” lập trình sư đáp lời và quay mặt lại từ phía màn hình, “Tất cả những gì tôi theo là Đạo – vượt xa qua mọi thứ Trình! Khi tôi bắt đầu lập trình, tôi đã mường tượng trước mắt mình cả một đống các vấn đề hỗn độn. Sau 3 năm, tôi không còn nhìn thấy đống này nữa. Thay vào đó, tôi dùng các thủ tục. Giờ đây tôi không còn thấy gì nữa. Tất cả gì tồn tại với thôi là hư không vô định. Cảm giác đứng lặng. Tinh thần của tôi được giải phóng, làm việc không cần đến kế hoạch mà chỉ theo bản năng. Nói cho ngắn, chương trình tôi tự thân nó sinh ra. Đúng là đôi khi cũng gặp những vấn đề phức tạp. Tôi chậm lại và lặng nhìn thôi. Sau đó, tôi chỉ cần thay đổi 1 dòng mã và tất cả khó khăn biến mất như một làn sương mỏng manh. Rồi tôi chạy biên dịch lại chương trình. Tôi lại ngồi tĩnh lặng và để sự vui thú của công việc bao trùm lấy mình. Tôi nhắm mắt lại chút xíu và rồi thoát ra khỏi máy tính.”

Hoàng tử Wang nói, “Giá mà tất cả các lập trình viên của tôi đều viên mãn thế!”

(Còn nữa)


Hướng dẫn report name facebook