Tự review diff trước khi commit: thói quen 5 phút giúp giảm lỗi lặt vặt

  • author-image

    Nguyễn Đình Cường

  • blog-tag
  • blog-comment 0 comment
  • created-date 09 Nov, 2026
blog-thumbnail

Bạn từng mở pull request rồi phát hiện ngay dòng console.log("here") còn sót lại, hay file cấu hình cá nhân bị đưa lên nhầm? Phần lớn lỗi vặt kiểu này đều có thể bắt được nếu bạn dành năm phút đọc lại thay đổi của chính mình trước khi commit. Đây là thói quen rẻ nhất để nâng chất lượng công việc.

Vì sao tự review hiệu quả?

Khi viết code, bạn tập trung vào việc làm cho nó chạy. Khi đọc lại diff (sự khác biệt giữa trước và sau), bạn chuyển sang góc nhìn người đọc. Sự đổi vai này giúp bạn thấy được những thứ mà lúc viết bạn bỏ sót: code thừa, tên khó hiểu, trường hợp chưa xử lý, thay đổi ngoài ý muốn.

Cách xem diff trước khi commit

git status                # file nào đã thay đổigit diff                  # thay đổi chưa addgit diff --staged         # thay đổi đã add, sắp commitgit add -p                # duyệt từng khối thay đổi để chọn add

git add -p đặc biệt hữu ích: Git hiển thị từng đoạn thay đổi và hỏi bạn có muốn đưa vào commit không. Bạn vừa review vừa có cơ hội loại bỏ đoạn không liên quan. Ngoài ra bạn có thể dùng giao diện so sánh trong VS Code hoặc công cụ Git đồ họa nếu thấy dễ nhìn hơn.

Danh sách kiểm tra 8 điểm

  1. Code debug còn sót: console.log, print, var_dump, debugger, breakpoint, đoạn comment tạm.
  2. File không liên quan: file build, log, ảnh chụp màn hình, cấu hình cá nhân, .env. Đây cũng là bước chặn việc lộ bí mật.
  3. Thay đổi ngoài phạm vi: định dạng hàng loạt, đổi tên lung tung, sửa file khác nên để commit riêng.
  4. Tên biến, hàm: có rõ nghĩa không? Có chỗ nào đọc lên thấy khó hiểu?
  5. Trường hợp biên: rỗng, null, âm, quá lớn, lỗi mạng. Code đã xử lý chưa?
  6. Test: đã có test cho hành vi mới hoặc lỗi vừa sửa chưa? Test cũ có còn qua không?
  7. Tài liệu và comment: comment còn đúng sau thay đổi? Cần cập nhật README, changelog?
  8. Thông điệp commit: đã mô tả đúng điều thay đổi và lý do chưa?

Ví dụ một lần review diff

- const total = items.reduce((s, i) => s + i.price, 0);+ console.log('items', items);+ const total = items.reduce((s, i) => s + i.price * i.qty, 0);+ // TODO: xử lý giảm giá

Khi đọc lại, bạn nhận ra: dòng console.log phải xóa; thay đổi nhân với qty là sửa lỗi thật nên cần một test; còn TODO cần ghi rõ hơn hoặc chuyển thành một công việc riêng thay vì để mơ hồ trong code.

Kết hợp với các công cụ tự động

Con người dễ sót, hãy để máy hỗ trợ:

  • Pre-commit hook: tự động chạy formatter, linter và quét bí mật trước khi cho commit.
  • Chạy test cục bộ trước khi đẩy lên.
  • Kiểm tra kiểu (type check) với TypeScript, mypy, PHPStan...
  • CI làm lưới an toàn cuối cùng cho cả nhóm.

Nhưng các công cụ này không thay thế được việc bạn đọc lại để hỏi "thay đổi này có hợp lý không".

Tự review pull request trên giao diện web

Sau khi đẩy nhánh và mở pull request, hãy xem lại nó trên giao diện web của GitHub hoặc GitLab trước khi gọi người khác. Cách hiển thị khác với terminal và thường làm lộ thêm những điều bạn chưa thấy. Bạn có thể để lại bình luận cho chính mình hoặc cho người review ở những chỗ cần giải thích: "đoạn này chọn cách A vì B".

Thói quen cuối ngày

  1. Cuối ngày làm việc, dành 5-10 phút xem lại git diff và git log của ngày hôm nay.
  2. Dọn code tạm, commit phần đã ổn, ghi lại bước tiếp theo (xem bài về dev journal).
  3. Đẩy nhánh lên remote để có bản sao lưu.
  4. Ghi chú ngắn những điều chưa chắc để hỏi vào ngày mai.

Những cái bẫy cần tránh

  • Review quá nhanh vì "chỉ sửa có một dòng". Lỗi nghiêm trọng thường ở những thay đổi nhỏ nhất.
  • Review khi mệt: nếu vừa làm xong lúc nửa đêm, hãy đọc lại vào sáng hôm sau.
  • Commit tất cả bằng git add . mà không nhìn git status.
  • Để diff quá lớn: commit càng nhỏ thì review càng dễ, nên commit thường xuyên hơn.

Kết luận

Năm phút đọc lại diff của chính mình giúp bắt được hầu hết lỗi vặt, bảo vệ bạn khỏi những sai sót đáng xấu hổ và tiết kiệm thời gian của người review. Hãy biến nó thành phản xạ: trước mỗi commit, chạy git diff --staged và đọc.

Để rèn thêm các thói quen chuyên nghiệp khi làm dự án nhóm, bạn có thể tham khảo các khóa học tại codebem.com.

author_photo
Nguyễn Đình Cường

0 comment