Checklist chung khi review Pull Request

admin . 2:34 am
Dưới đây là checklist tổng quát và chi tiết giúp bạn review một Pull Request (PR) hiệu quả, áp dụng cho cả frontend, backend, và quy trình chung trong team:
✅ Checklist chung khi review Pull Request
- Mục đích PR rõ ràng
- Tiêu đề PR mô tả rõ chức năng hoặc bugfix.
- Mô tả PR giải thích “tại sao thay đổi này là cần thiết”.
- Có liên kết tới ticket/Jira nếu có.
- Quy mô PR hợp lý
- PR không quá lớn, dễ đọc và dễ hiểu.
- Nếu lớn, có thể đề xuất chia nhỏ.
- Đúng coding convention của dự án
- Tên biến, tên hàm rõ ràng, đúng quy ước.
- Cấu trúc file, format code chuẩn.
- Có sử dụng linter/formatter (ví dụ: ESLint, Prettier, PHP-CS-Fixer…).
- Không có code thừa
- Không để lại console.log, print, debug, TODO không rõ.
- Không có file/thư viện không dùng tới.
- Không comment code tạm thời.
- Có unit test hoặc test case liên quan
- Có test mới cho logic mới hoặc bug fix.
- Test case đầy đủ cả positive và negative.
- Các test cũ không bị fail.
- Không phá vỡ backward compatibility
- Những thay đổi không làm hỏng phần cũ của hệ thống.
- Nếu có thay đổi lớn, có migration script kèm theo (với DB).
- Security & validation
- Kiểm tra các input có validate đầy đủ.
- Không để lộ thông tin nhạy cảm (token, key, env).
- Hiệu năng
- Không có logic gây query dư thừa (N+1, loop nặng, xử lý sync).
- Nếu có truy vấn DB, đã dùng index đúng cách.
- I18n và UX/UI (nếu liên quan frontend)
- Text có thể dịch không hardcode.
- Giao diện không bị lỗi/responsive.
- Giao diện khớp với thiết kế (nếu có Figma).
- PR có thể deploy
- Không lỗi build/test CI/CD.
- Có migration hoặc hướng dẫn deploy nếu cần.
- Có rollback plan hoặc dễ revert nếu phát sinh lỗi.
📦 Checklist bổ sung cho từng loại dự án
🧠 Backend
- API trả đúng status code và message.
- Logic phân quyền (authorization) được xử lý đúng.
- Transaction/middleware/exception có xử lý đúng.
- Đảm bảo idempotent nếu là PUT/PATCH.
💻 Frontend
- Giao diện giống thiết kế.
- Code chia component rõ ràng.
- Không hardcode API URL / key.
- Không lỗi console / warning khi chạy app.
- Đã kiểm thử trên các trình duyệt chính (Chrome, Firefox…).
✅ Sau khi review xong
- Approve nếu ổn, hoặc Comment rõ ràng, cụ thể từng lỗi.
- Tránh nhận xét kiểu “LGTM” nếu chưa thực sự đọc kỹ.
- Có thể gợi ý refactor hoặc cải tiến nếu cần thiết.