Mùi Mã Mới: AI và Tương Lai Công Việc Lập Trình - Đừng Chỉ Viết Code, Hãy Sửa Code Của AI!
Lê Lân
0
Viết Code Không Cần Bình Luận Ngoại Vi: Hiểu Và Sửa Mã Nguồn Trong Kỷ Nguyên AI
Mở Đầu
Trong thời đại trí tuệ nhân tạo (AI) phát triển mạnh mẽ, công việc lập trình đang chuyển mình từ việc viết mã mới sang việc hiểu và sửa lỗi mã nguồn, đặc biệt là mã được tạo ra hoặc hỗ trợ bởi AI. Điều này đòi hỏi một phương pháp làm việc mới để giữ cho mã nguồn luôn rõ ràng, chính xác và dễ bảo trì.
Lập trình truyền thống thường dựa vào các bình luận và tài liệu tham khảo bên ngoài để giải thích cách hoạt động của mã, nhưng trong kỷ nguyên AI, đây lại là một rủi ro lớn. Khi mã chứa các bình luận tham chiếu đến các hội thoại AI hoặc tài nguyên trực tuyến dễ bị "chết" liên kết, nó làm phá vỡ sự hiểu biết về hành vi của chương trình cũng như tăng gánh nặng bảo trì.
Bài viết này sẽ giải thích vì sao việc viết đơn vị kiểm thử (unit tests) là giải pháp thay thế hoàn hảo cho bình luận ngoại vi, giúp mã nguồn trở nên tự chứng minh và bền vững hơn. Chúng ta sẽ cùng tìm hiểu về vấn đề, các giải pháp, ví dụ minh họa và phương pháp tái cấu trúc mã (refactoring) hiệu quả.
Vấn Đề Với Bình Luận Tham Chiếu Ngoại Vi Trong Mã Nguồn
Bình Luận Chi Tiết Nhưng Lệ Thuộc Vào Nguồn Bên Ngoài
Nhiều lập trình viên để lại bình luận chi tiết giải thích mã, kèm theo liên kết đến các cuộc hội thoại AI, Stack Overflow hoặc tài nguyên bên ngoài.
Các liên kết này có thể bị mất hiệu lực theo thời gian.
Nội dung hội thoại hoặc bài viết có thể bị xóa hoặc thay đổi.
Người bảo trì sau không thể truy cập để hiểu ngữ cảnh.
Bình luận có thể trở thành bình luận lỗi thời hoặc gây hiểu nhầm.
Chìa khóa: Bình luận tham chiếu ngoại vi tạo ra sự phụ thuộc bên ngoài không cần thiết và không bền vững cho mã nguồn.
Mã Rất Dễ Bị Phân Mảnh Kiến Thức
Khi kiến thức về hành vi mã phân tán rải rác trong các nguồn bên ngoài, chúng ta gặp phải:
Kiến thức bị phân mảnh không tập trung trong mã.
Gánh nặng bảo trì tăng cao.
Dễ mất ngữ cảnh khi người tạo mã không còn làm việc nữa.
Bình luận dài kèm theo nhiều liên kết bên ngoài trong ví dụ trên làm cho mã phụ thuộc vào tài liệu không ổn định và khó xác minh hành vi.
Giải Pháp: Viết Đơn Vị Kiểm Thử Thay Vì Bình Luận Ngoại Vi
Viết Test Thay Bình Luận
Thay vì viết bình luận tham chiếu link bên ngoài, ta hãy viết đơn vị kiểm thử (unit tests) để thể hiện rõ ràng cách mã hoạt động và được kỳ vọng như thế nào.
Test giúp xác minh hành vi của code.
Test tạo ra documentation sống trong chính mã.
Test giảm thiểu việc mất ngữ cảnh hoặc sai lệch thông tin.
Không cần click link hay tham khảo tài liệu bên ngoài để hiểu code.
Loại Bỏ Các Liên Kết Bên Ngoài
Không để bình luận chứa liên kết nhớt hoặc hội thoại AI.
Dùng constant để thay thế magic number.
Cung cấp ví dụ trực tiếp trong tests giúp dễ đọc, dễ hiểu.
result = calculate_starship_trajectory(200, 0, 10)
self.assertEqual(result['burn_time'], 0.0)
self.assertEqual(result['delta_v'], 0.0)
self.assertEqual(result['final_velocity'], 200.0)
# Thêm nhiều test cho các trường hợp khác...
Test không chỉ đảm bảo hành vi phần mềm mà còn là cách truyền tải kiến thức rõ ràng đến lập trình viên khác, thay vì dựa vào comment hoặc link bên ngoài.
Cách Phát Hiện & Tránh Code Smell Bình Luận Ngoại Vi
Phát Hiện Bình Luận Có Link Đến Hội Thoại AI hoặc Tài Nguyên Ngoài
Tìm kiếm bình luận chứa URL đến trang AI chat (ví dụ: claude.ai, chat.openai.com...).
Bình luận kèm theo cụm từ "AI suggested", "See explanation at", "according to conversation".
Kiểm tra xem mã có kèm test bao phủ không.
Trường Hợp Ngoại Lệ
Mã nghiên cứu hoặc thuật toán thuật toán chuẩn xác có thể tham khảo bài báo khoa học hoặc tài liệu công khai.
Tuy nhiên, phải là link ổn định, được trích dẫn chính thức, và vẫn cần viết test để kiểm chứng hành vi.
Tầm Quan Trọng Của Sự Tương Ứng Giữa Test Và Bình Luận
Để hiểu đúng và kiểm soát hành vi phần mềm, bạn cần sự tương ứng (bijection) giữa dữ liệu, code và test — không được dựa vào thứ bên ngoài không nằm trong phạm vi quản lý.
"Code never lies." – Khi bạn dựa quá nhiều vào đường link hay comment tham chiếu ngoài, bạn sẽ có ấn tượng sai lệch về độ tin cậy và hiểu biết về mã.
Kết Luận
Việc dựa vào bình luận chứa liên kết đến hội thoại AI hoặc tài liệu bên ngoài là một mùi code (code smell) làm yếu đi sự bền vững và khả năng bảo trì của hệ thống phần mềm. Thay vào đó, bạn nên:
Viết đơn vị kiểm thử đầy đủ và đúng mục đích.
Loại bỏ các liên kết và bình luận ngoại vi không cần thiết.
Sử dụng constant để thay thế magic numbers.
Cung cấp ví dụ cụ thể ngay trong mã và bài test.
Bằng cách này, mã nguồn của bạn sẽ trở nên dễ hiểu, đáng tin cậy và bền vững trong kỷ nguyên trí tuệ nhân tạo.
Tham Khảo
Maxi Contieri, "Refactoring 011 - Replace Comments with Tests", dev.to/mcsee