Chỉ có mã nguồn mới nói lên sự thật
Peter
Sommerlad
Tính
đích thực của một chương trình được
thể hiện qua mã (code) thi hành. Nếu chỉ ở dạng nhị
phân (binary), code sẽ rất khó đọc! Tuy nhiên, mã nguồn
(source code) cần sẵn có nếu đây là chương trình của
bạn, là quá trình phát triển một phần mềm thương mại,
là một dự án nguồn mở (open source), hay code trong một
ngôn ngữ thông dịch động (dynamic interpreted language). Khi
bạn đọc source code, ý nghĩa của chương trình cần phải
toát lên một cách hiển nhiên. Muốn biết chương trình
làm gì, source code là thứ sau cùng bạn cần phải đọc.
Thậm chí tài liệu thu thập yêu cầu chính xác nhất cũng
không thể nói lên sự thật: nó không chi tiết những gì
chương trình đang thật sự thi hành, đó chỉ là ý định
mức cao của người phân tích yêu cầu. Tài liệu thiết
kế có thể trình bày thiết kế đã được vạch sẵn,
song lại thiếu chi tiết cần thiết của công đoạn hiện
thực. Các tài liệu này có thể đã không còn đồng bộ
với thực tế ... hoặc có lẽ chúng đã thất lạc. Hay
chưa từng được viết ra. Source code có thể là thứ duy
nhất còn sót lại.
Với
hiểu biết như trên, bạn hãy tự vấn xem code của bạn
phải sáng tỏ đến đâu để code có thể kể cho bạn
hoặc cho một lập trình viên bất kỳ về điều mà code
đang làm.
Bạn
có thể bảo, "Ôi chào, chú thích trong code của tôi
sẽ giải thích mọi điều bạn cần." Nhưng hãy nhớ
cho rằng chú thích không là code. Chúng có thể sai sót như
các dạng tài liệu khác. Truyền thống mặc nhiên cho rằng
chú thích là hành vi tốt, nên một số lập trình viên mù
quáng chú thích thật nhiều, thậm chí còn tường thuật,
giảng giải những chi tiết vụn vặt và hiển nhiên trong
code. Đây là con đường sai lầm trong nỗ lực khiến code
của bạn trở nên trong sáng.
Nếu
bạn cần chú thích cho code, hãy xét đến khả năng tái
cấu trúc (refactoring) để không cần phải chú thích nữa.
Chú thích dài dòng có thể gây rối màn hình và thậm chí
còn bị IDE (môi trường phát triển tích hợp) của bạn
tự động che khuất. Nếu cần diễn giải về một thay
đổi, hãy gửi thông điệp vào hệ thống kiểm soát
phiên bản (version control system) chứ đừng chú thích trong
code.
Bạn
có thể làm gì để thật sự khiến code của bạn nói
lên sự thật càng sáng tỏ càng tốt? Hãy gắng đặt tên
cho đúng. Cấu trúc code theo tính năng cố kết, nhờ đó
còn tạo điều kiện dễ dàng cho việc đặt tên. Phân rã
code nhằm đạt được tính trực giao. Hãy viết mã kiểm
thử tự động (automated tests) hầu giải thích hành vi dự
kiến và kiểm chứng giao diện. Không ngừng refactor sau
khi đã biết cách đưa ra một giải pháp đơn giản hơn
và hoàn thiện hơn. Hãy biến code của bạn trở nên càng
dễ đọc và dễ hiểu chừng nào, càng tốt chừng ấy.
Hãy
xem code của bạn là một công trình soạn thảo, tựa một
bài thơ, bài luận, blog trước công chúng, hay một điện
thư (email) quan trọng. Hãy cẩn thận trau chuốt hầu biểu
đạt được mục đích và trực tiếp thể hiện điều
mà code đang làm; sao cho code có thể tiếp tục diễn đạt
được ý định của bạn khi bạn không còn ở đó. Nhớ
rằng code nào ích lợi sẽ được sử dụng lâu dài hơn
ý định ban đầu. Các lập trình viên bảo trì sẽ cảm
ơn bạn. Và nếu bạn là một lập trình viên bảo trì,
đồng thời code bạn đang bảo trì không dễ toát lên sự
thật, hãy chủ động vận dụng những hướng dẫn vừa
nêu. Hãy thiết lập một tiêu chuẩn lành mạnh cho code,
và duy trì sự lành mạnh của chính bạn.
Nguồn
Sommerlad
P. (2010) Only the
Code Tells the Truth,
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