1. 12:29 14/10/2026
Trong các dự án monorepo chứa cả Next.js cho web và Expo cho mobile, việc thống nhất quy trình code review giúp giảm thiểu lỗi, cải thiện chất lượng mã và tăng tốc độ giao hàng. Dưới đây là những bước thực tế đã áp dụng thành công trong nhiều team.
1. Định nghĩa tiêu chuẩn chung
- Sử dụng ESLint + Prettier cấu hình chung cho cả hai nền tảng. Cài đặt pre-commit hook (husky) để tự động format trước khi commit.
- Viết một file CONTRIBUTING.md mô tả naming convention, cấu trúc thư mục, quy tắc import/export và cách xử lý platform‑specific code.
2. Checklist review tự động
- Tích hợp GitHub Actions (hoặc GitLab CI) chạy lint, type‑check (TypeScript), unit test và build cho cả web và mobile trên mỗi pull request.
- Thêm step chạy `danger-js` hoặc `reviewdog` để tự động comment trên PR khi phát hiện vi phạm checklist (ví dụ: missing test, console.log, hard‑coded strings).
3. Phân chia trách nhiệm reviewer
- Gán ít nhất một reviewer chuyên về web và một reviewer chuyên về mobile. Sử dụng CODEOWNERS để tự động yêu cầu review từ đúng người.
- Khuyến khích reviewer tập trung vào: logic nghiệp vụ, hiệu năng render, xử lý offline, và sự nhất quán của design system.
4. Quy trình phản hồi và merge
- Yêu cầu ít nhất 2 approvals trước khi merge. Nếu có conflict giữa web và mobile, tổ chức cuộc họp ngắn (15 phút) để thống nhất giải pháp.
- Sử dụng squash‑merge để giữ lịch sử commit gọn gàng, kèm message tuỳ chỉnh theo convention (feat:, fix:, chore:).
5. Đo lường và cải tiến
- Theo dõi thời gian trung bình từ mở PR đến merge, tỷ lệ PR bị request changes, và số bug production liên quan đến code review.
- Mỗi sprint dành 30 phút retrospective để điều chỉnh checklist, cập nhật rule lint hoặc thay đổi phân công reviewer.
Áp dụng các bước trên giúp team giảm 30% thời gian review, giảm 40% bug liên quan đến sự khác biệt giữa web và mobile, và tạo ra thói quen chất lượng mã bền vững.