Ngày xửa ngày xưa...cách đây lâu lắm rồi, một người đi qua một nơi rất hoành tráng, có một tấm biển ghi "Nha May Co Khi Gia Lam", người đó gật gù: Trong này có...khỉ. Họ ghi rất rõ ràng: Nhà Mày Có Khỉ Già Lắm! Nhưng thực tế đó là Nhà Máy Cơ Khí Gia Lâm!
Có một câu chuyện gần như lập trình viên nào cũng từng trải qua.
Bạn viết xong một chức năng.
Chạy ngon.
Deploy.
Xong.
Ba tháng sau.
Khách hàng gọi.
"Anh ơi, sửa giúp em chỗ này."
Bạn mở project lên.
Nhìn đoạn code.
...
5 phút.
10 phút.
20 phút.
Rồi tự hỏi:
"Ủa... thằng nào viết cái này vậy?"
Rồi chợt nhớ.
...
Chính mình viết.
Nếu bạn từng rơi vào tình huống này.
Xin chúc mừng.
Bạn không hề "cô đơn" gặm nhấm "nỗi đau".
Comment code là gì?
Comment là những dòng ghi chú trong source code giúp giải thích mục đích, ý tưởng hoặc lý do của đoạn code.
PHP sẽ bỏ qua các dòng comment khi chương trình chạy.
Comment giúp người khác và cả chính bạn hiểu code dễ hơn khi quay lại sau này.
Ví dụ thực tế
Bạn chuyển nhà.
Đóng 20 thùng carton.
Nếu trên tất cả đều ghi:
"Hàng."
Ba tháng sau.
Muốn tìm:
Giấy tờ.
↓
Mở từng thùng.
Nhưng nếu ghi:
- Quần áo
- Sách
- Hồ sơ
- Dụng cụ sửa điện
↓
Chỉ cần nhìn là biết.
Comment trong code cũng giống như:
Chiếc nhãn dán trên từng chiếc thùng.
Comment trong PHP như thế nào?
Ví dụ.
// Kiểm tra người dùng đã đăng nhập hay chưa
if(isset($_SESSION['user'])){
...
}
Hoặc:
/*
Đoạn này xử lý
đăng nhập
và tạo session
*/
PHP sẽ bỏ qua toàn bộ phần comment.
Nó chỉ dành cho...
Con người đọc.
Lính mới thường comment kiểu này
Ví dụ.
$name = "Nam"; // Gán Nam cho biến name
Ơ...
Ai nhìn cũng biết.
Đâu cần giải thích.
Hay:
$i++; // Tăng i lên 1
Đây gọi là:
Comment điều ai cũng thấy.
Không có nhiều giá trị.
Hãy comment điều người khác KHÔNG nhìn thấy
Ví dụ.
// Không cho tài khoản bị khóa đăng nhập,
// kể cả khi nhập đúng mật khẩu.
if($user['status']=="locked"){
...
}
Comment này rất đáng giá.
Vì nó giải thích:
Tại sao đoạn code tồn tại.
Không chỉ là:
Đoạn code đang làm gì.
"Làm gì" và "Vì sao"
Đây là khác biệt rất lớn.
Ví dụ.
$total = $price * 0.9;
Nếu comment:
// Nhân với 0.9
Ai cũng thấy.
Nhưng nếu viết:
// Giảm 10% cho khách hàng VIP
↓
Hay hơn rất nhiều.
Ba tháng sau.
Bạn sẽ biết ngay.
Tại sao lại có:
0.9
Thay vì:
0.8
Hay:
0.95
Một câu chuyện..quen quen
Bạn viết website.
Có đoạn.
if($score>=7.5){
...
}
Lúc viết.
Bạn nhớ.
7.5 là gì.
Sáu tháng sau.
Không nhớ nữa.
Là:
- Điểm đậu?
- Điểm học bổng?
- Điểm xét tuyển?
- Điểm ưu tiên?
Chỉ cần thêm:
// Theo quy định năm 2026,
// học bổng chỉ dành cho sinh viên từ 7.5 trở lên.
↓
Mọi thứ rõ ràng ngay.
Comment để nhắc chính mình
Có những đoạn.
Bạn biết.
Chưa tối ưu.
Ví dụ.
// TODO:
// Tối ưu câu SQL này bằng JOIN sau.
Hoặc:
// FIXME:
// Hàm này chưa xử lý trường hợp email trùng.
Sau này quay lại.
Nhìn phát.
Biết ngay.
Khỏi quên.
Tập tành làm web
Xem xét một "siêu project", đây có lẽ đã thấm nhuần phong cách...tào lao của DatVietLapTrinh.
Một file PHP.
Hơn:
1.200 dòng.
Không có nổi...
Một dòng comment.
Đọc khoảng:
15 phút.
Vẫn chưa hiểu.
Trong khi.
Nếu chia thành:
// Kết nối database
// Kiểm tra đăng nhập
// Lấy danh sách sản phẩm
// Phân trang
// Hiển thị kết quả
↓
Đọc chưa tới:
2 phút.
Đã hiểu luồng chương trình.
Đó là sức mạnh của comment.
Đừng comment quá nhiều
Đây cũng là một lỗi.
Ví dụ.
// Khai báo biến a
$a = 10;
// Khai báo biến b
$b = 20;
// Cộng hai số
$c = $a + $b;
// Hiển thị kết quả
echo $c;
Comment nhiều.
Nhưng...
Không giúp ích gì.
Thậm chí.
Còn làm code dài hơn.
Code đẹp sẽ cần ít comment hơn
Ví dụ.
Thay vì.
if($a==1){
...
}
Bạn đặt tên biến:
$isLoggedIn
↓
Code tự giải thích.
Không cần comment nữa.
Đây là lý do nhiều lập trình viên thích:
- Tên biến rõ ràng.
- Tên hàm rõ ràng.
- Tên class rõ ràng.
Comment cũng phải cập nhật
Có tình huống rất...khôi hài.
Comment viết:
// Giảm giá 20%
Nhưng code thật.
Lại là:
$discount = 0.3;
Comment và code.
Đánh nhau.
Không biết tin ai.
Trong trường hợp này.
Tin code.
Không tin comment.
Một mẹo...kịch trần
Khi viết một hàm.
Hãy thử trả lời đúng một câu hỏi:
"Nếu sáu tháng sau mình mở lại, điều gì dễ quên nhất?"
↓
Comment đúng chỗ đó.
Không cần nhiều.
Nhưng rất giá trị.
Debug kiểu dev "xịn sò"
1. Comment lý do
Ít comment "làm gì".
Nhiều comment "vì sao".
2. Chia code thành từng phần
Đừng để 500 dòng liền nhau.
3. Dùng TODO và FIXME
Rất hữu ích khi project lớn.
4. Xóa comment cũ nếu code đã thay đổi
Comment sai còn nguy hiểm hơn không có comment.
5. Viết cho... chính mình trong tương lai
Đừng viết để gây ấn tượng.
Hãy viết để sau này đỡ mất thời gian.
Checklist chuẩn không cần chỉnh
- Comment những chỗ khó hiểu
- Giải thích "vì sao"
- Tránh comment điều quá hiển nhiên
- Cập nhật comment khi sửa code
- Chia chương trình thành từng phần rõ ràng
- Viết code dễ đọc để giảm số lượng comment
FAQ nhanh
Comment có làm chương trình chạy chậm không?
Không. PHP sẽ bỏ qua comment khi thực thi.
Có nên comment mọi dòng code?
Không. Chỉ comment khi thực sự cần.
Comment bằng tiếng Việt hay tiếng Anh?
Nếu làm project cá nhân, hãy dùng ngôn ngữ bạn và nhóm dễ hiểu nhất.
Nếu làm với khách hàng hoặc đội ngũ quốc tế, tiếng Anh thường là lựa chọn phù hợp hơn.
Code đẹp có cần comment không?
Có. Nhưng sẽ cần ít hơn rất nhiều.
Bạn có thể cũng đang gặp
White Screen of Death – Trang trắng xóa không báo lỗi
var_dump() là "vũ khí bí mật" của newbie
echo debug và nghệ thuật "soi từng bước"
PHP login đúng password nhưng vẫn fail
isset() vs empty() khác nhau thế nào?