Nguyên tắc gốc: nhận xét nhắm vào code, không nhắm vào người, và nêu rõ lý do thay vì chỉ ra lệnh.
- Thay "anh viết hàm này sai rồi" bằng "hàm này chưa xử lý trường hợp danh sách rỗng, dòng 42 sẽ ném lỗi".
- Giải thích tại sao, để người nhận học được nguyên tắc chứ không chỉ sửa một chỗ. Nếu góp ý dài, kèm link tài liệu hoặc đoạn code mẫu.
- Phân loại mức độ. Việc bắt buộc sửa và việc tuỳ chọn phải khác nhau rõ ràng, thường quy ước bằng tiền tố:
text
blocker: query này chạy trong vòng lặp, sẽ thành N+1 khi list > 100
nit: đổi tên biến `d` thành `deadline` cho dễ đọc (optional)
question: chỗ này cố ý bỏ qua lỗi hay quên xử lý?- Hỏi thay vì phán khi bạn chưa chắc — người viết thường có bối cảnh bạn không biết.
- Khen chỗ làm tốt một cách cụ thể; điều này giúp review không chỉ toàn danh sách lỗi.
Mục tiêu của review không phải chứng minh mình giỏi hơn, mà là đưa code lên mức cải thiện được sức khoẻ tổng thể của codebase. Không cần code hoàn hảo mới approve.