最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

怎樣寫好commit?message提高業(yè)務(wù)效率

 更新時(shí)間:2023年05月12日 14:36:37   作者:ag9920  
這篇文章主要為大家介紹了如何寫好commit?message幫助業(yè)務(wù)團(tuán)隊(duì)提高效率方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

commit 粒度

commit message 在工程開發(fā)中有很重要的作用。一個(gè)好的 message 不僅僅能夠降低 reviewer 的心智負(fù)擔(dān),也能夠方便日后追蹤問題。但寫好一個(gè) commit message 可不容易,今天這篇文章我們來思考一下怎樣讓 commit message 更加清晰,幫助業(yè)務(wù)團(tuán)隊(duì)提高效率。

commit 本質(zhì)就是一些代碼變更的聚合體,我們可能在一個(gè) commit 中改動(dòng)多個(gè)文件。問題的關(guān)鍵在于 commit 的語義和粒度。

這個(gè)很多時(shí)候很頭疼,大 commit 不好 review,每次一看到十幾個(gè)文件上千行記錄在一個(gè) commit 里就很想哭。小 commit 本身是沒問題的,但很多時(shí)候大家稍微改一點(diǎn)就提一個(gè) commit,導(dǎo)致放眼望去全是意義不大的提交,記錄基本沒法看。

怎么把握這個(gè)度呢?

這里提供一個(gè)標(biāo)準(zhǔn)供大家參考:你的 commit 能得體地告訴別人干了一件什么事。

一件事

能拆的要拆,兩個(gè)語義獨(dú)立的改動(dòng)不要放到一個(gè) commit 里面,做好一件事即可,commit 的內(nèi)容應(yīng)該是高內(nèi)聚的,不要出現(xiàn)夾帶私活的情況。

只要保證你的 Merge Request 是干凈的,信息清晰的就 ok,不要擔(dān)心一個(gè) MR 對(duì)應(yīng)多個(gè) commit 的問題,該合并就合并,但語義獨(dú)立的兩件事,不要合在一起寫。

得體

不要隨隨便便改一個(gè)地方就提交一次,比如這里加了個(gè)空行,那里刪了個(gè)注釋,全拆開,倒的確是不同的事,但這樣讓別人看就很不得體。想象一下,你現(xiàn)在是個(gè)教練,本來可以等學(xué)員練習(xí)好了,看一遍效果給出評(píng)價(jià)即可,可你的學(xué)生每做一個(gè)動(dòng)作就要把你拉過來看看,這時(shí)你是什么心態(tài)?肯定要崩潰!

軟件開發(fā)也是如此,明明你是要開發(fā)一個(gè)需求,結(jié)果只有一個(gè) commit 是真正支撐需求的,各種格式優(yōu)化的 commit 多達(dá)十幾個(gè),這就非常不得體。

  • 思考每一個(gè) commit 是否必須。一定要記住,不要多寫一行多余的代碼,否則未來你會(huì)很糾結(jié);
  • 學(xué)會(huì)歸納。合并同類項(xiàng)。

message 格式

<type>(<scope>): <subject>
<空行>
<body>
<空行>
<footer>

type

type 就是 commit 的類型:

  • docs: 文檔變更
  • feat: 新需求特性
  • fix: 修復(fù) bug
  • perf: 性能提升
  • style: 代碼風(fēng)格相關(guān)
  • test: 測試代碼修改
  • refactor: 重構(gòu)代碼
  • chore: 構(gòu)建過程或輔助工具的變動(dòng),日常的修改

scope

scope用于說明 commit 影響的范圍,比如數(shù)據(jù)層、控制層、視圖層等等,視項(xiàng)目不同而不同。這個(gè)大家根據(jù)業(yè)務(wù)情況自行約定規(guī)范即可。

subject

commit message 的核心部分,說明干了一件什么事,標(biāo)題性質(zhì),簡單的修改要做到讓大家一看標(biāo)題就能理解改了什么。

body

對(duì)本次 commit 的詳細(xì)描述,可以分成多行,說明代碼變動(dòng)的動(dòng)機(jī),以及與以前行為的對(duì)比,詳細(xì)的背景要在這里說清楚。比如

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 或者關(guān)閉 issue 時(shí)使用,場景較少,日常業(yè)務(wù)開發(fā)可以忽略。事實(shí)上,能把 subject,body 寫好就不容易了。

內(nèi)容多了怎么辦

很多時(shí)候大家都直接用 git commit -m "xxx" 來代替,其實(shí)建議大家?guī)?body,很多 commit 光看 subject 跟沒看是一樣的。

這種情況下,大家直接用 git commit 來提交,跳出文本編輯器,支持大家輸入 body。

一定記住,body 不是可有可無,一個(gè)優(yōu)秀的 commit message 要能做到看了就知道前因后果,知道改動(dòng)原因。而不是留一句片湯話在 subject 上。

語言選擇

這一點(diǎn)很多團(tuán)隊(duì)會(huì)忽視,筆者待過的幾乎每個(gè)團(tuán)隊(duì),都是中英文混雜,這一點(diǎn)很不好。建議統(tǒng)一語言,如果公司規(guī)定開發(fā)必須用【英語】,ok 沒問題,大家做好準(zhǔn)備,提高英語素養(yǎng),找到每個(gè)業(yè)務(wù)概念最精準(zhǔn)的表達(dá),形成規(guī)范,落地就行。

但是,但是?。?!

絕大多數(shù)團(tuán)隊(duì)是做不到這一點(diǎn)的,因?yàn)闆]有動(dòng)力,而且大家都是中國人,很多語言表達(dá)即便過了四六級(jí),也很難很精準(zhǔn),于是寫的五花八門。

與其這樣,不如明確,除了 type,其他全用中文代替。

以上就是怎樣寫好commit message提高業(yè)務(wù)效率的詳細(xì)內(nèi)容,更多關(guān)于commit message提高效率的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • VSCode實(shí)現(xiàn)文件嵌套功能的完全指南

    VSCode實(shí)現(xiàn)文件嵌套功能的完全指南

    你是否厭倦了在VSCode中面對(duì)滿屏的配置文件、測試文件或編譯產(chǎn)物?是否曾因查找關(guān)聯(lián)文件而頻繁滾動(dòng)資源管理器?**文件嵌套(File?Nesting)功能正是解決這一痛點(diǎn)的利器!本文將手把手教你如何通過VSCode的虛擬路徑管理技術(shù),需要的朋友可以參考下
    2025-04-04
  • Git操作規(guī)范之tag的使用技巧詳解

    Git操作規(guī)范之tag的使用技巧詳解

    這篇文章主要為大家介紹了Git操作規(guī)范之tag的使用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Git創(chuàng)建子分支,合并分支并提交

    Git創(chuàng)建子分支,合并分支并提交

    這篇文章主要介紹了Git創(chuàng)建子分支,合并分支并提交,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 網(wǎng)站開發(fā)中的文件存儲(chǔ)目錄結(jié)構(gòu)的探討

    網(wǎng)站開發(fā)中的文件存儲(chǔ)目錄結(jié)構(gòu)的探討

    網(wǎng)站應(yīng)用中經(jīng)常會(huì)有文件存儲(chǔ)的需求,目錄結(jié)構(gòu)該怎么建才好呢?讓我們來做下分析
    2010-07-07
  • jQuery會(huì)死嗎?我為什么不用vue寫富文本

    jQuery會(huì)死嗎?我為什么不用vue寫富文本

    jQuery會(huì)死嗎?我為什么不用vue寫富文本,本文通過文字實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • postman測試接口各種類型傳值的實(shí)現(xiàn)

    postman測試接口各種類型傳值的實(shí)現(xiàn)

    本文主要介紹了postman測試接口各種類型傳值的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 算法系列15天速成 第五天 五大經(jīng)典查找【中】

    算法系列15天速成 第五天 五大經(jīng)典查找【中】

    大家可否知道,其實(shí)查找中有一種O(1)的查找,即所謂的秒殺
    2013-11-11
  • 使用let's?encrypt申請(qǐng)免費(fèi)的SSL證書

    使用let's?encrypt申請(qǐng)免費(fèi)的SSL證書

    這篇文章主要為大家介紹了如何使用let's?encrypt申請(qǐng)免費(fèi)的SSL證書示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • windows下Git安裝教程(圖文)

    windows下Git安裝教程(圖文)

    這篇文章主要介紹了windows下Git安裝教程(圖文),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 簡單談?wù)凣ET和POST有什么區(qū)別

    簡單談?wù)凣ET和POST有什么區(qū)別

    本文給大家總結(jié)了下get與post的具體區(qū)別,以及網(wǎng)上的那么多答案為什么都是錯(cuò)誤的,非常的實(shí)用,這里推薦給大家
    2016-06-06

最新評(píng)論

嘉义县| 长泰县| 枣阳市| 凯里市| 尖扎县| 马鞍山市| 杭锦旗| 宝兴县| 双柏县| 海丰县| 吐鲁番市| 科技| 吐鲁番市| 疏附县| 莒南县| 山东| 梓潼县| 北碚区| 育儿| 德阳市| 潢川县| 米林县| 新巴尔虎左旗| 璧山县| 新乡县| 施甸县| 晋州市| 讷河市| 白河县| 龙胜| 龙胜| 察雅县| 砚山县| 澎湖县| 沂水县| 棋牌| 五家渠市| 建瓯市| 贺州市| 鹤峰县| 浦城县|