Cùng tiếp tục tìm hiểu về việc viết bình luận trong lập trình qua chương 2 của Clean Code #6. Trong bài này, chúng ta sẽ khám phá một khía cạnh quan trọng: Zombie Code.
7. Zombie Code
Zombie Code là những đoạn mã đã được bình luận và không còn được thực thi. Hãy tưởng tượng bạn đang đọc mã để sửa lỗi hoặc thêm tính năng. Khi gặp các đoạn mã bị bình luận, điều này làm gián đoạn luồng đọc và gây khó khăn trong việc hiểu rõ các chức năng của mã. Những đoạn mã này giống như những bóng ma trong thế giới lập trình - chúng đứng giữa sự sống và cái chết, chỉ chờ một cơ hội để gây rối.
Tại sao gọi là Zombie Code?
Giống như những thây ma trong phim kinh dị, vẫn tồn tại một cách không rõ ràng, Zombie Code cũng nằm trong giới hạn của mã nguồn. Mặc dù không được chạy trong môi trường sản xuất, nhưng các lập trình viên vẫn có thể gặp phải nó trong quá trình bảo trì và tái cấu trúc mã. Do đó, đặt biệt là trong các dự án lớn, cần phải xem xét và dọn dẹp những đoạn mã này.
Mã trong hôm nay không bao giờ thực sự biến mất. Nhờ vào hệ thống kiểm soát phiên bản như Git và SVN, bạn vẫn có thể quay trở lại phiên bản trước nếu cần thiết.
Nguyên nhân gây ra Zombie Code
Có hai nguyên nhân chính dẫn đến sự tồn tại của Zombie Code:
a. Kỵ rủi ro
Nhiều lập trình viên cho rằng việc xóa bỏ mã trong khi bảo trì là một rủi ro, vì họ sợ rằng không thể khôi phục lại nếu cần. Điều này tạo ra một thói quen tích trữ mã không cần thiết, điều này không chỉ làm chậm quá trình phát triển mà còn làm tăng gánh nặng kỹ thuật (technical debt).
b. Tâm lý tích trữ
Các lập trình viên có thể nghĩ rằng mã đã bình luận sẽ hữu ích cho ai đó trong tương lai, nhưng thực tế thì việc này không mang lại lợi ích gì cả. Càng nhiều đoạn mã bị bình luận, khả năng đọc mã giảm đi, và sự lộn xộn này có thể làm nản lòng mọi người.
Tác động của Zombie Code
Zombie Code cản trở việc đọc mã và gây ra sự mơ hồ về chức năng của các phần mã. Điều này khiến cho công việc bảo trì và tái cấu trúc trở nên khó khăn và mệt mỏi.
Bên cạnh đó, việc sử dụng công cụ tái cấu trúc sẽ không tự động nhận diện và xử lý các đoạn mã đã bình luận. Khi mã được bình luận được phục hồi, thường thì mã sẽ gặp phải lỗi biên dịch.
✅ Tóm tắt: Zombie Code gây giảm khả năng đọc và tăng gánh nặng cho mã nguồn. Việc xóa bỏ các đoạn mã này là cần thiết để giữ cho code luôn sạch sẽ và dễ dàng bảo trì. Đừng quên rằng, với kiểm soát phiên bản, bạn có thể dễ dàng khôi phục lại mã đã bị xóa nếu cần thiết.
Danh sách phân tâm tâm lý
Tác hại | Mô tả |
---|---|
Tạo ra sự mơ hồ | Gây khó khăn cho việc đọc mã. |
Giảm khả năng đọc | Các đoạn mã bình luận làm giảm khả năng nắm bắt nội dung chính. |
Thêm noise vào tìm kiếm | Khi tìm từ khóa, các đoạn mã đã bình luận sẽ gây nhầm lẫn. |
Cản trở việc tái cấu trúc | Phải xem xét kỹ lưỡng mã đã bình luận khi thay đổi. |
Mã không bị “mất” | Thực tế mã có thể được phục hồi thông qua source control. |
Nếu bạn có ý định bình luận trong mã của mình, hãy tự hỏi: khi nào đoạn mã này sẽ được phục hồi? Nếu không có thời gian cụ thể, có thể mã này nên được xóa bỏ để giảm thiểu noise trong dự án.
8. Dấu hiệu phân tách và Theo dõi dấu ngoặc
Khi duy trì các hàm quá dài, việc sử dụng bình luận để phân tách các phần là thường thấy. Thay vì sử dụng bình luận để gán mục đích, hãy xem xét tái cấu trúc mã thành nhiều hàm nhỏ hơn để dễ dàng quản lý và đọc hơn.
private void MyLongFunction()
{
// Bắt đầu tìm kiếm vé hòa nhạc
if(hasTickets)
{
// mã xử lý
}
}
Hãy học cách áp dụng clean coding bằng cách tái cấu trúc mã và giới thiệu các phương thức ngắn gọn, rõ ràng hơn, giúp tăng tốc độ đọc và giảm sự phụ thuộc vào bình luận.
9. Header quá phình
Các bình luận khá dài ở đầu file có thể gây khó chịu cho lập trình viên. Điều này không cần thiết, vì tên file và thông tin về tác giả có thể truy xuất thông qua hệ thống kiểm soát phiên bản như Git. Một cấu trúc thích hợp giúp mã trở nên đẹp hơn và dễ bảo trì hơn.
10. Nhật ký Khuyết điểm
Tránh việc ghi lại lỗi trong mã nguồn, thay vào đó sử dụng hệ thống kiểm soát source. Việc thêm các comment như vậy vào mã có thể cản trở việc hiểu mã và tạo thêm noise cho người đọc.
11. Bình luận sạch sẽ
Bình luận sạch sẽ có thể hiệu quả để hướng dẫn và truyền tải thông tin cụ thể cho người đọc.
a. Bình luận To Do
Bình luận này giúp lập trình viên theo dõi các nhiệm vụ và công việc cần làm trong mã. Hãy sử dụng một cách khôn ngoan để đảm bảo mọi người trong nhóm đều hiểu mục tiêu của bình luận này.
b. Bình luận Tóm tắt
Những bình luận này cung cấp cái nhìn tổng quan về mã mà không cần xem xét cả đoạn mã. Chúng nên được sử dụng cho các lớp lớn với tương tác phức tạp. Hãy đảm bảo rằng chúng không thêm sự phức tạp cho mã đã được đặt tên rõ ràng.
c. Bình luận Tài liệu
Bình luận này có thể hữu ích khi tích cực tương tác với tất cả các bên liên quan, giúp họ hiểu rõ hơn về mã.
Cảm ơn bạn đã theo dõi bài viết! Hy vọng bạn sẽ tìm thấy những thông tin này hữu ích cho quá trình lập trình của mình. Nếu bạn thấy bài viết có giá trị, đừng quên để lại ý kiến và theo dõi để nhận thêm những bài viết tiếp theo!
🚀
source: viblo