Chủ Nhật, 5 tháng 2, 2012

Hãy lập trình với tinh thần phải bảo trì cho đến chết


Hãy lập trình với tinh thần phải bảo trì cho đến chết

Yuriy Zubarev


Khi hỏi 97 người rằng mọi lập trình viên phải học những gì và cần làm gì, bạn có thể nhận được 97 lời khuyên khác nhau. Kết quả này có thể khiến bạn cảm thấy quá sức và lo sợ. Lời khuyên nào cũng hay, nguyên tắc nào cũng hợp lý, và câu chuyện nào cũng đầy thuyết phục, song phải bắt đầu từ đâu? Quan trọng hơn, một khi đã bắt đầu, làm thế nào duy trì được tất cả các thực hành tốt mà bạn đã học, và làm thế nào tích hợp được chúng vào kỹ năng lập trình của mình?

Tôi nghĩ rằng câu trả lời nằm trong tâm, cụ thể hơn là ở thái độ của bạn. Chẳng hạn, nếu chẳng màng đến đồng nghiệp lập trình, kiểm thử, quản lý, bán hàng, tiếp thị, và người sử dụng, bạn sẽ không bị thôi thúc áp dụng phương pháp phát triển phần mềm dựa trên kiểm thử (test-driven development), hoặc không muốn chú thích rõ ràng trong chương trình. Tôi nghĩ rằng có một cách đơn giản để điều chỉnh thái độ của bạn và luôn thôi thúc bạn xuất xưởng những sản phẩm có chất lượng tuyệt hảo, đó là

Hãy lập trình với tinh thần phải bảo trì cho đến chết

Chỉ vậy thôi. Nếu bạn thừa nhận quan điểm này, nhiều điều kỳ diệu sẽ xảy đến. Nếu phải chấp nhận để nhà tuyển dụng trong quá khứ hay ở hiện tại có quyền nửa đêm dựng bạn dậy, yêu cầu giải thích vì sao bạn lại viết phương thức (method) fooBar như thế, bạn sẽ cải thiện từng bước để trở thành một chuyên gia lập trình. Tự nhiên bạn muốn đặt tên biến và tên method cho tốt hơn. Bạn sẽ tránh xa những khối lệnh chứa hàng trăm dòng. Bạn sẽ tìm học và áp dụng các công thức thiết kế (design patterns). Bạn sẽ chú thích, kiểm thử, và liên tục tái cấu trúc (refactor) chương trình. Tinh thần bảo trì mã (code) do bạn viết ra cho đến chết còn là một nỗ lực hoàn thiện. Qua đó bạn chẳng còn chọn lựa nào khác ngoài việc trở nên tốt hơn, chín chắn hơn, và hiệu quả hơn.

Nếu suy niệm sâu sắc, bạn nhận thấy rằng chương trình do mình viết ra nhiều năm trước vẫn tiếp tục tác động đến nghề nghiệp, bất chấp mình có thích điều đó hay không. Bạn sẽ để lại di tích về kiến thức, thái độ, lòng kiên trì, tính chuyên nghiệp, tinh thần tận tụy, và cảm hứng của mình trong từng method, lớp (class), và bộ phận (module) mà bạn đã thiết kế và thi công. Người khác sẽ đánh giá bạn qua code của bạn. Nếu những đánh giá đó thường xuyên là tiêu cực, bạn sẽ thu nhận từ nghề nghiệp ít hơn điều mà mình mong ước. Hãy chăm sóc nghề nghiệp, khách hàng, và người sử dụng qua từng dòng code – hãy lập trình với tinh thần phải bảo trì cho đến chết.


Nguồn

Zubarev Y. (2010) Write Code As If You Had to Support It for the Rest of Your Life, 97 Things Every Programmer Should Know, Henney K. (ed), O'Reilly, Sebastopol, CA.

Không có nhận xét nào:

Đăng nhận xét