您好,登錄后才能下訂單哦!
本篇文章和大家了解一下寫好commit message提高業務效率的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
commit message 在工程開發中有很重要的作用。一個好的 message 不僅僅能夠降低 reviewer 的心智負擔,也能夠方便日后追蹤問題。但寫好一個 commit message 可不容易,今天這篇文章我們來思考一下怎樣讓 commit message 更加清晰,幫助業務團隊提高效率。
commit 本質就是一些代碼變更的聚合體,我們可能在一個 commit 中改動多個文件。問題的關鍵在于 commit 的語義和粒度。
這個很多時候很頭疼,大 commit 不好 review,每次一看到十幾個文件上千行記錄在一個 commit 里就很想哭。小 commit 本身是沒問題的,但很多時候大家稍微改一點就提一個 commit,導致放眼望去全是意義不大的提交,記錄基本沒法看。
怎么把握這個度呢?
這里提供一個標準供大家參考:你的 commit 能得體地告訴別人干了一件什么事。
能拆的要拆,兩個語義獨立的改動不要放到一個 commit 里面,做好一件事即可,commit 的內容應該是高內聚的,不要出現夾帶私活的情況。
只要保證你的 Merge Request 是干凈的,信息清晰的就 ok,不要擔心一個 MR 對應多個 commit 的問題,該合并就合并,但語義獨立的兩件事,不要合在一起寫。
不要隨隨便便改一個地方就提交一次,比如這里加了個空行,那里刪了個注釋,全拆開,倒的確是不同的事,但這樣讓別人看就很不得體。想象一下,你現在是個教練,本來可以等學員練習好了,看一遍效果給出評價即可,可你的學生每做一個動作就要把你拉過來看看,這時你是什么心態?肯定要崩潰!
軟件開發也是如此,明明你是要開發一個需求,結果只有一個 commit 是真正支撐需求的,各種格式優化的 commit 多達十幾個,這就非常不得體。
思考每一個 commit 是否必須。一定要記住,不要多寫一行多余的代碼,否則未來你會很糾結;
學會歸納。合并同類項。
<type>(<scope>): <subject> <空行> <body> <空行> <footer>
type 就是 commit 的類型:
docs: 文檔變更
feat: 新需求特性
fix: 修復 bug
perf: 性能提升
style: 代碼風格相關
test: 測試代碼修改
refactor: 重構代碼
chore: 構建過程或輔助工具的變動,日常的修改
scope用于說明 commit 影響的范圍,比如數據層、控制層、視圖層等等,視項目不同而不同。這個大家根據業務情況自行約定規范即可。
commit message 的核心部分,說明干了一件什么事,標題性質,簡單的修改要做到讓大家一看標題就能理解改了什么。
對本次 commit 的詳細描述,可以分成多行,說明代碼變動的動機,以及與以前行為的對比,詳細的背景要在這里說清楚。比如
More detailed explanatory text, if necessary. Wrap it to about 72 characters or so. Further paragraphs come after blank lines. - Bullet points are okay, too - Use a hanging indent
只有在 break change 或者關閉 issue 時使用,場景較少,日常業務開發可以忽略。事實上,能把 subject,body 寫好就不容易了。
很多時候大家都直接用 git commit -m "xxx"
來代替,其實建議大家帶上 body,很多 commit 光看 subject 跟沒看是一樣的。
這種情況下,大家直接用 git commit
來提交,跳出文本編輯器,支持大家輸入 body。
一定記住,body 不是可有可無,一個優秀的 commit message 要能做到看了就知道前因后果,知道改動原因。而不是留一句片湯話在 subject 上。
這一點很多團隊會忽視,筆者待過的幾乎每個團隊,都是中英文混雜,這一點很不好。建議統一語言,如果公司規定開發必須用【英語】,ok 沒問題,大家做好準備,提高英語素養,找到每個業務概念最精準的表達,形成規范,落地就行。
但是,但是!!!
絕大多數團隊是做不到這一點的,因為沒有動力,而且大家都是中國人,很多語言表達即便過了四六級,也很難很精準,于是寫的五花八門。
與其這樣,不如明確,除了 type,其他全用中文代替。
以上就是寫好commit message提高業務效率的方法的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。