Git - Viết commit đẹp

900
31-01-2018
Git - Viết commit đẹp

Hiện nay, Git là skill gần như bắt buộc trong các bản tin tuyển dụng lập trình viên. Đôi khi việc viết code đã khó việc viết được commit tốt còn khó hơn . Khi cùng làm việc nhóm trên 1 Git repo, commit cũng đóng vai trò như 1 loại tài liệu của dự án, commit đẹp sẽ làm người khác nắm được rõ hơn công việc bạn đã làm, nhất là khi bạn không dùng comment trong code hay không viết tài liệu. Tương tự vậy, khi cần xem lịch sử phát triển của dự án, ví dụ như để debug chả hạn, commit đẹp giúp cung cấp nhiều thông tin hơn tới người xử lý.

Bizfly Cloud đưa ra các tips nhỏ dưới đây sẽ đưa ra cho bạn những gợi ý để cải thiện kỹ năng viết commit message của mình:

1. Commit có Subject và Body

Git - Viết commit đẹp - Ảnh 1.

Có thể bạn chưa biết, 1 commit message có thể gồm nhiều dòng, dòng đầu tiên là Subject, các dòng tiếp theo là Body. Subject chính là dòng sẽ được hiển thị trong Git log. Thông thường các bạn chỉ viết 1 dòng commit nên nó được tính luôn là Subject. Khi xem chi tiết của commit thì mới thấy được cả Body.

Không có 1 quy tắc bắt buộc nào về 2 cái này nhưng các developer nổi tiếng đều bảo nhau:

- Subject mô tả tổng quát công việc bạn đã làm trên commit đó. Đây là dòng quan trọng nhất nên bạn cố gắng viết rõ ràng nhất có thể.

- Để viết Subject dễ, bạn có thể đặt nó vào câu sau: Nếu được áp dụng, commit này sẽ ... (If applied, this commit will ...). Phần trong dấu "..." chính là Subject của bạn.

- Body mô tả kỹ hơn cho Subject, thường trả lời cho các câu hỏi Why? How? hoặc thêm thắt các thông tin liên quan đến thay đổi đã thực hiện, ví dụ như việc cấu hình hệ thống như thế nào.

- Subject và Body cách nhau 1 dòng trống, giống như viết thư vậy (Cái này để dùng cho git send-mail - Gửi commit qua mail).

- Subject viết ngắn gọn, không quá 50 ký tự. Body cũng không có quá 72 ký tự trên 1 dòng. Điều để đảm bảo nội dung của commit được hiển thị tốt nhất ở các Git UI.

- Với các thay đổi bé, bạn có thể bỏ qua phần Body

2. Không gộp quá nhiều thay đổi vào trong 1 commit

Việc gộp quá nhiều thay đổi vào trong 1 commit là 1 ý tưởng không tốt, bạn cần bỏ thói quen này:

- Nó làm cho người review code khó hiểu bạn đang làm gì trên commit đó.

- Không revert được code nếu có lỗi xảy ra. Hãy tưởng tượng, khi bạn có nhiều tính năng trong 1 commit, khi 1 tính năng lỗi bạn sẽ không thể revert lại vì sẽ ảnh hưởng đến các tính năng đi kèm.

- Tương tự như trên, rất khó để dùng chức năng cherry-pick của Git, chức năng này để "bê" commit từ branch này sang branch khác.

- Gây khó test, khi hệ thống của bạn có tích hợp CI (Continuos Intergration).

Ví dụ commit lớn này:

commit xxxxxx

Author: Dang Van A
Date: Mon Apr 6 23:11:55 2015 0700

Bump to version 2.2.2

Apply some changes:

* Integrating InfluxDB to measure website traffic
* Replace ABC by XZY to optimize DEFF
* Fix not found error on link domain.com/xx


Nên được chuyển thành 4 commits nhỏ:

commit xxxxxx

Author: Dang Van A
Date: Mon Apr 6 23:11:55 2015 0700

Bump to version 2.2.2

commit xxxxxx
Author: Dang Van A
Date: Mon Apr 6 23:11:55 2015 0700

Integrating InfluxDB to measure website traffic

Some description here

commit xxxxxx
Author: Dang Van A
Date: Mon Apr 6 23:11:55 2015 0700

Replace ABC by XZY to optimize DEFF

Some description here

commit xxxxxx
Author: Dang Van A
Date: Mon Apr 6 23:11:55 2015 0700

Fix not found error on link domain.com/xx

Some description here


Để tránh việc quên commit, bạn nên tập thói quen Check In Early, Check In Often - thường xuyên commit/push/pull lên repo.

3. Commit tiếng Việt

Khi làm việc với team nước ngoài, việc viết commit bằng tiếng Anh là điều hiển nhiên nhưng nếu cả team toàn người Việt thì bạn có thể cân nhắc việc dùng tiếng Việt.

Việc này có thể làm repo của bạn nhìn kém chuyên nghiệp 1 chút nhưng nó rất rõ ràng và dễ hiểu; các bạn intern, fresher hay thậm chí junior sẽ tiếp cận nhanh hơn và viết cũng dễ hơn.

Ở VCCloud, chúng tôi vẫn có các repo dùng tiếng Việt trong commit message.

Git - Viết commit đẹp - Ảnh 2.

4. Chèn task/issue ID trong commit

Git - Viết commit đẹp - Ảnh 3.

Nếu bạn có dùng 1 phần mềm quản lý công việc nào đó, bạn nên cho ID của task (hoặc issue) vào commit message của mình, hoặc thậm chí cho URL của task vào commit Body. Điều này giúp liên kết commit của bạn đến task.

Với các tips ở trên, chúng tôi hi vọng bạn có thể hình thành cho mình thói quen viết commit tốt hơn, giúp dự án của bạn nhìn chuyên nghiệp hơn, bạn sẽ được đánh giá cao hơn trong mắt nhà quàn lý, nhà tuyển dụng hoặc bạn bè quốc tế (khi đóng góp vào các dự án Open Source).

Nguồn: BizFly Cloud chia sẻ

>> Tìm hiểu thêm: Hướng dẫn cài đặt sử dụng Expo

SHARE