Quy tắc và quy định phát triển phần mềm BM

Estimated reading: 4 minutes 152 views

    1. Cấu trúc dự án & môi trường làm việc

    Ngoài các thư mục mặc định của suiteCRM khi thiết lập dự án thì cần lưu ý một số thư mục custom sau:

    • logs: Lưu trữ thông tin log hệ thống. Bao gồm log cuộc gọi, log cảnh báo từ hệ thống
    • sessions: Lưu trữ thông tin sessions hiện tại trên hệ thống. Phiên làm việc
    • archives: Thư mực lưu trữ tài nguyên (Lưu trữ file ghi âm, file mp3, text transcript, …)
    • ……….

    Công cụ quản lý công việc: Dùng op.quantri.online để quản lý task, cập nhật tiến độ theo ngày.

    • Mỗi task cần có: Tiêu đề rõ ràng, mô tả chi tiết, người thực hiện, deadline, độ ưu tiên.
    • Luồng xử lý code:
      • Lập task trên hệ thống.
      • Tạo nhánh Git tương ứng: [username]_[feature]_[optional], [hotfix]_[issue_name], hotfix_...
      • Code, viết tài liệu và test.
      • Tạo Merge Request (MR) lên nhánh develop.
      • Code phải được review kỹ càng trước khi được merge vào main.

    2. Chuẩn code (Coding Standards) và Tài liệu hóa

    • Tên biến, hàm: đặt theo camelCase.
    • Tạo module cú pháp: Đặt tên tiếng anh (viết hoa chữ đầu, cách nhau bằng dấu “_”) Key (Prefix): BM (viết hoa). Phải có mô tả là module gì.
    • Luôn comment đủ cho class, function và logic phức tạp.
    • Các folder như: js, css, language, metadata, tpls, views,… thì điều chỉnh trực tiếp trong folder gốc modules/. Ngoại trừ trường hợp như logic_hook thì điều chỉnh trong folder custom/modules/
    • Tối ưu hóa code cũ. Hạn chế hardcode.
    • Mỗi module phải có tài liệu cấu trúc, hướng dẫn sử dụng hoặc tích hợp.
    • API phải có docs (Swagger/Postman/Redoc).
    • Ghi chú cách deploy, migrate DB, cấu hình cronjob nếu có.
    • Ghi log truy cập và hành vi người dùng nếu liên quan đến thông tin quan trọng.

    3. Giao tiếp và phối hợp nhóm

    • Sử dụng Telegram nội bộ để trao đổi nhanh.
    • Review tuần/tháng để tổng kết vấn đề, chia sẻ kinh nghiệm.
    • Hạn chế nhắn tin riêng khi trao đổi công việc.

    Lưu ý:

    • Không push thông tin nhạy cảm lên Git (Api key/Token/Password).
    • Tối thiểu phải có test thủ công cho các chức năng chính.
    • Không sửa code của người khác mà không thông báo.
    • Luôn backup trước khi chỉnh sửa những phần quan trọng.
    • Tôn trọng thời hạn, tránh trễ task mà không báo trước.
    • Chủ động cập nhật trạng thái task, tránh để bị “treo”.
    • Hỗ trợ đồng đội, tránh giữ kiến thức riêng.
    • Đề cao tinh thần tự học và cải tiến liên tục.

    CONTENTS