Giới thiệu
Hôm nay, mình muốn chia sẻ với các bạn một chủ đề quan trọng trong lập trình mà ít được chú trọng dạy trong trường: cách viết commit message trong Git. Đây là một kỹ năng cần thiết cho các lập trình viên, đặc biệt khi làm việc nhóm. Việc viết commit message rõ ràng sẽ giúp đồng đội hiểu rõ về các thay đổi trong dự án, hỗ trợ dễ dàng trong việc kiểm tra và bảo trì mã nguồn.
I. Mục Đích của Commit Message
Commit message đóng vai trò rất quan trọng trong việc quản lý mã nguồn. Chức năng chính của nó là cung cấp thông tin rõ ràng về từng thay đổi trong dự án, giúp tất cả các thành viên trong nhóm có thể nhanh chóng nắm bắt được lý do và nội dung của các thay đổi.
II. Những Lỗi Thường Gặp Khi Viết Commit Message
Dưới đây là một số lỗi phổ biến mà lập trình viên thường mắc phải khi viết commit message:
- Không rõ ràng: Sử dụng các cụm từ mơ hồ như “update code” hay “fix bug” mà không cung cấp thông tin chi tiết.
- Độ dài không hợp lý: Commit message quá dài khiến người đọc khó theo dõi, trong khi đó, quá ngắn thì không đủ thông tin cần thiết.
- Không tuân thủ quy tắc: Viết commit message không theo cấu trúc chuẩn khiến lịch sử commit trở nên rối rắm và khó quản lý.
- Sai chính tả: Một lỗi nhỏ có thể tạo ra ấn tượng không chuyên nghiệp.
- Không liên kết với issue: Không ghi rõ commit liên quan tới task hay issue nào sẽ làm cho việc theo dõi khó khăn hơn.
III. Bảy (07) Quy Tắc Vàng Trong Việc Viết Commit Message
Để trở nên chuyên nghiệp khi viết commit message, bạn cần tuân thủ các quy tắc sau:
- Tách biệt tiêu đề và phần nội dung bằng một dòng trắng để gia tăng tính rõ ràng.
- Tiêu đề nên giới hạn trong 50 ký tự để dễ đọc.
- Dùng chữ cái đầu tiên viết hoa ở dòng tiêu đề.
- Không kết thúc tiêu đề bằng dấu chấm để tránh sự không cần thiết.
- Sử dụng cấu trúc câu mệnh lệnh trong tiêu đề.
- Giới hạn độ dài phần nội dung commit tối đa 72 ký tự.
- Trả lời các câu hỏi: điều gì (What), tại sao (Why), và như thế nào (How) trong phần nội dung commit.
IV. Cách Viết Commit Message Chuẩn
Một commit message chuẩn có cấu trúc như sau:
<Loại commit (bắt buộc)> [phạm vi (tuỳ chọn)]: <Mô tả commit (bắt buộc)>
[Body (tuỳ chọn)]
[Footer (tuỳ chọn)]
Các thành phần:
-
Loại commit (bắt buộc): Xác định mục đích chính của commit. Các loại bao gồm:
feature
: Thêm tính năng mới.bugfix
: Sửa lỗi.refactor
: Tái cấu trúc mã nguồn mà không thay đổi chức năng.docs
: Cập nhật tài liệu.chore
: Những thay đổi nhỏ không liên quan đến mã nguồn.style
: Thay đổi về định dạng mà không làm thay đổi hành vi của code.perf
: Cải thiện hiệu suất của ứng dụng.vendor
: Cập nhật phiên bản cho các thư viện.
-
Phạm vi (tuỳ chọn): Cung cấp thông tin chi tiết về nội dung của commit, giúp xác định rõ hơn các thay đổi mà commit này thực hiện. Ví dụ:
feature(login_sso)
haybugfix(user_profile)
. -
Mô tả commit (bắt buộc): Nêu rõ nội dung của commit một cách ngắn gọn, dễ hiểu.
-
Body (tuỳ chọn): Dùng để trình bày chi tiết về commit nếu cần thiết.
-
Footer (tuỳ chọn): Cung cấp thông tin bổ sung như ID Task hay issue liên quan.
Ví Dụ Về Commit Message Chuẩn
Ví dụ 1: Thêm tính năng đổi mật khẩu cho tài khoản người dùng.
feature(user_profile): Thêm tính năng đổi mật khẩu cho tài khoản người dùng
[Yêu cầu: Đổi mật khẩu phải khác mật khẩu cũ và phân biệt chữ hoa, chữ thường]
[JIRA-HD661]
Ví dụ 2: Sửa lỗi địa chỉ văn phòng.
bugfix(landing_page): Sửa lỗi địa chỉ văn phòng
[Địa chỉ văn phòng được ghi chính xác]
[Đề xuất của giám đốc]
Ví Dụ Về Commit Message Không Chuẩn
Ví dụ 1: fix lỗi
- Lỗi: Không có loại commit và mô tả không rõ ràng.
Ví dụ 2: refactoer (country_page): Refactor code...
- Lỗi: Sai chính tả và mô tả quá dài.
V. Kết Luận
Với 7 quy tắc về commit message, bạn có thể cải thiện tính chuyên nghiệp của dự án và giảm thiểu thời gian tìm kiếm lỗi trong quá trình phát triển phần mềm. Hãy áp dụng ngay những quy tắc này để trở thành một lập trình viên giỏi hơn và làm việc hiệu quả hơn trong nhóm của mình. Cảm ơn các bạn đã theo dõi bài viết!
source: viblo