Code sạch, đời vui: Tại sao mình luôn viết code như thể ngày mai có người đọc

Phong

Code sạch, đời vui: Tại sao mình luôn viết code như thể ngày mai có người đọc

Mấy anh em lập trình viên chắc ai cũng từng gặp cảnh này: mở lại project cũ của chính mình viết hồi 6 tháng trước, và… không hiểu nổi cái đống code đó đang làm gì luôn. Nhìn cái function dài 200 dòng với mớ biến a, b, temp1, temp2 mà muốn khóc luôn á. Mình thiệt đó, cũng từng như vậy hồi mới vô nghề.

Hồi đó mình toàn nghĩ: "À, code chạy được là được, viết comment chi cho mất thời giờ, đặt tên biến dài quá làm gì." Nhưng mà sau vài lần ngồi đọc code của chính mình viết hồi năm ngoái, mình nhận ra một điều: code là để con người đọc, không chỉ để máy chạy. Nghe sến nhưng thiệt đó.

Ảnh: Mikhail Fesenko — Pexels

Mình hay đùa với đồng nghiệp rằng: "Viết code như thể maintainer tiếp theo là một sát thủ có vũ trang biết địa chỉ nhà mình á." Nghe hơi quá nhưng mà có lý á — khi viết code rõ ràng, mình đang tôn trọng thời gian của chính mình trong tương lai, với cả tụi bạn cùng team nữa.

Mấy cái nguyên tắc mình hay áp dụng:

1. Đặt tên biết nói Đừng đặt a, b, x, data hoài — hãy đặt userList, pendingOrders, formattedDate, isAuthenticated. Mất thêm 2 giây suy nghĩ nhưng tiết kiệm cả tiếng về sau. Với TypeScript thì mình xài type với interface kỹ càng luôn, tự động có intellisense hỗ trợ, khỏi cần nhớ.

2. Comment cái "tại sao", không phải cái "gì" Code tự nó đã nói nó làm gì rồi. Comment là để giải thích tại sao nó làm vậy. Ví dụ: // fallback này dùng vì API thằng third-party hay trả về null trên iOS — cái này mới có giá trị. Còn comment kiểu // increment i là vô ích, xoá được xoá dùm.

3. Hàm nhỏ, một việc thôi Nếu function dài hơn 20 dòng, khả năng cao nó đang làm quá nhiều thứ. Mình thường tách ra mấy hàm nhỏ, mỗi hàm lo đúng một việc, đặt tên rõ ràng. Xong rồi ghép lại là thành một bài code sạch đẹp, y như xếp lego vậy.

Ảnh: Rodrigo Santos — Pexels

Mình biết cám dỗ "chạy cho nhanh, mai mốt refactor" nó lớn lắm, ai cũng từng bị hết. Nhưng tin mình đi — cái "mai mốt" đó hiếm khi nào tới thiệt. Dự án mới, deadline dí, tính năng mới chồng lên… tới chừng nhớ ra thì đã muộn. Nên cứ viết sạch ngay từ đầu, sau này mở lại code thấy nhẹ nhàng lắm.

Code sạch không chỉ là kỹ năng kỹ thuật — nó còn là cách bạn thể hiện sự chuyên nghiệp và tôn trọng người đọc (kể cả là chính bạn 6 tháng sau). Chúc anh em có những dòng code đẹp và ít bug! 😄