6.Checklist kiểm tra trước khi merge
6.1. Mục tiêu chương
Chương này quy định checklist bắt buộc trước khi merge code nhằm:
-
Đảm bảo chất lượng code trước khi tích hợp
-
Tránh vi phạm các quy định về kiến trúc và dữ liệu
-
Giảm rủi ro lỗi khi build hoặc triển khai
-
Chuẩn hóa quy trình review giữa Core Team và Partner
6.2. Khái niệm / phạm vi áp dụng
Checklist này áp dụng cho:
-
Tất cả Pull Request (PR)
-
Core Team và Partner Team
-
Mọi module trong hệ thống
Checklist được dùng trong:
-
Code review
-
Kiểm tra trước khi merge vào develop
Kiểm tra trước khi release
6.3. Quy định chính
Pull Request chỉ được phép merge khi đáp ứng đầy đủ các điều kiện sau:
Code nằm trong khu vực được phép:
modules/**
- Không sửa các khu vực bị cấm:
common/**
config/**
common/entity/**
- Nếu có thay đổi database:
-
Phải có migration script
-
API phải đúng chuẩn:
/api/v1/<module-name>
-
Response phải dùng:
ApiResponse<T>
7.Build phải thành công
6.4. Cách thực hiện / quy trình
Quy trình kiểm tra trước khi merge
Bước 1: Dev hoàn thành feature hoặc fix bug
Bước 2: Tạo Pull Request vào develop
Bước 3: Dev tự kiểm tra checklist
Bước 4: Core Team review theo checklist
Bước 5: Nếu đạt yêu cầu → merge
Nếu không đạt:
-
PR bị reject
-
Dev phải sửa lại theo checklist
6.5. Ví dụ minh họa
Trường hợp hợp lệ
PR:
Chỉ sửa code trong:
modules/planning/**
- Có migration: V20260210__add_priority_to_planning.sql
- API: /api/v1/planning
-
Build thành công
→ Được merge.
Trường hợp không hợp lệ
PR:
Sửa file:
common/entity/UserEntity.java
→ Vi phạm quy định shared entity.
→ PR bị từ chối.
Trường hợp bị từ chối do thiếu migration
PR:
Thêm field trong entity:
private Integer priority;
-
Không có migration SQL
→ PR bị reject.
6.6. Checklist áp dụng
Dev phải tick đủ các mục sau trước khi merge:
[ ] Code nằm trong modules/**
[ ] Không sửa common/**
[ ] Không sửa config/**
[ ] Có migration nếu thay đổi DB
[ ] API đúng chuẩn /api/v1/
[ ] Response dùng ApiResponse
[ ] Build thành công
Core Team chỉ merge khi checklist đạt đầy đủ.
Không có bình luận nào để hiển thị
Không có bình luận nào để hiển thị