Nhảy đến nội dung chính

10.Checklist kiểm tra trước khi merge

10.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

10.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

10.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/**

  1. Không sửa các khu vực bị cấm:


common/**

config/**

  1. Không sửa shared entity trong:


common/entity/**

  1. Nếu có thay đổi database:

    • Phải có migration script

  2. API phải đúng chuẩn:

/api/v1/<module-name>


  1. Response phải dùng:

ApiResponse<T>


10.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

10.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.

10.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/**

[ ] Không sửa shared entity

[ ] 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 đủ.