Lập trình viên không thích viết tài liệu

Lập trình viên không thích viết tài liệu?

Hầu hết các lập trình viên phát triển phần mềm mà tôi đã gặp trong sự nghiệp của mình đều cho rằng “Lập trình viên không thích viết tài liệu”. Khi họ bị buộc phải viết nó theo các thủ tục của công ty, bởi khách hàng hoặc bởi một yêu cầu bên ngoài thì thường chất lượng tài liệu của họ làm ra không hề tốt.

Lập trình viên không thích viết tài liệu?

Các lý do điển hình được các lập trình viên đưa ra bao gồm:

  1. Kỹ năng viết của tôi kém
  2. Tôi ghét viết lách
  3. Không ai đọc tài liệu
  4. Tôi không có thời gian để viết nó
  5. Đó không phải là công việc của tôi
  6. Viết code quan trọng hơn viết tài liệu

Vì rất nhiều người không thích viết tài liệu, tôi tự hỏi: có thực sự cần thiết để viết nó không? Tôi cũng hiểu việc viết tài liệu rất mất thời gian bởi ngoài công việc bạn phải làm là code chức năng được giao một cách hoàn chỉnh, không có lỗi, bạn còn phải đi bảo trì cho một đống thứ tài liệu không hề liên quan đến phần mềm bạn đang tạo ra.

Nhiều thống kê chỉ ra rằng việc duy trì mã có một vai trò rất quan trọng trong sự phát triển của một phần mềm. Trong số các hạng mục quan trọng hơn trong việc duy trì mã, tôi thấy các dòng mô tả khó khăn như thiếu tài liệu, quá khó để đọc hiểu code,…

Lập trình viên không thích viết tài liệu

Vì vậy, khi có tài liệu giải thích code đang làm sẽ giảm thiểu chi phí bảo trì phần mềm đi đáng kể.

Tài liệu có chi phí, không chỉ là chi phí viết, mà còn là chi phí bảo trì. Nếu tài liệu không phù hợp với mã, nó có thể làm tình hình tồi tệ hơn.

Tất nhiên, cũng có nhiều trường hợp không khớp giữa tài liệu và mã. Một trong những nguyên tắc của Tuyên ngôn Agile nêu rõ:

“Working software over comprehensive documentation” – Phần mềm chạy tốt hơn là tài liệu đầy đủ.

Tuyên bố này được hiểu theo nghĩa đen như một nguồn có thẩm quyền về sự vô dụng của việc viết tài liệu mã. Do đó, khẩu hiệu: “mã là tài liệu”, ước mơ của hầu hết các lập trình viên: không phải đối mặt với việc ghi lại mã của họ.

Lập trình viên không thích viết tài liệu

Thực ra đó là sự hiểu sai về nguyên tắc Agile, cũng như các nguyên tắc khác, không thể nói rằng tài liệu không có giá trị, nhưng giá trị của nó thấp hơn so với việc có một phần mềm đang hoạt động.

Ý tưởng về một đoạn mã hùng hồn chắc chắn rất hấp dẫn. Nó sẽ cho phép lập trình viên tập trung vào phát triển phần mềm, chắc chắn là một nhiệm vụ quen thuộc hơn và sẽ tránh được chi phí phải sản xuất thêm một hiện vật để duy trì theo thời gian.

Nhưng trong cuộc sống hàng ngày, liệu mã được tạo ra bởi hầu hết các lập trình viên có thực sự dễ hiểu để trở thành một tài liệu thích hợp? Nếu như ai cũng biết và áp dụng Clean code thì tất nhiên nổ lực viết tài liệu cũng giảm đi đáng kể.

Liệu ước mơ có một đoạn mã tự ghi chép có thực sự đạt được không? Liệu chúng ta có thể tìm thấy sự thỏa hiệp thực tế giữa việc viết mã và viết tài liệu không? Đây vẫn là một ẩn số, chưa hề có câu trả lời.

Lập trình viên không thích viết tài liệu

Suy cho cùng, tôi vẫn nghĩ rằng việc viết tài liệu là cần thiết, dù là dự án lớn hay nhỏ. Bạn cứ tưởng tượng bạn đã làm ứng dụng này rất lâu rồi, bây giờ khách hàng yêu cầu bảo trì và nâng cấp. Liệu bạn có nhớ và làm nổi chứ?

Sẽ mất rất nhiều thời gian để ngồi đọc code, giá mà lúc đó có đống tài liệu ngồi đọc có phải sướng hơn không? Chưa kể chương trình có thể có rất nhiều lỗi, “hardcode”,… liệu những có đó có được liệt kê hay không?

Cảm ơn bạn đã theo dõi bài viết!

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU

KHOÁ HỌC BOOTCAMP JAVA/PHP/.NET TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG

Bình luận