代碼什么時(shí)候提交到主分支

軟件開發(fā)中有一個(gè)持續(xù)集成的概念。它是一種軟件開發(fā)實(shí)踐,對于提高軟件開發(fā)效率并保障軟件開發(fā)質(zhì)量提供了理論基礎(chǔ)。除了自動(dòng)化測試部署,?頻繁地(一天多次)將代碼集成到主干。

(1)快速發(fā)現(xiàn)錯(cuò)誤。每完成一點(diǎn)更新,就集成到主干,可以快速發(fā)現(xiàn)錯(cuò)誤,定位錯(cuò)誤也比較容易。
(2)防止分支大幅偏離主干。如果不是經(jīng)常集成,主干又在不斷更新,會(huì)導(dǎo)致以后集成的難度變大,甚至難以集成。

簡單一點(diǎn)來說就是功能開發(fā)完成,就可以提交到主分支了。但是功能開發(fā)完成的標(biāo)志點(diǎn)是,測試通過、review 完成。

那什么時(shí)候代碼才應(yīng)該被提交到主分支呢?

分支的概念和 git 工作流請移步 企業(yè)級(jí)開發(fā):Gitflow Workflow工作流。

測試

代碼倉庫對commit操作配置了鉤子(hook),只要提交代碼或者合并進(jìn)主干,就會(huì)跑自動(dòng)化測試。測試有好幾種。

  • 單元測試:針對函數(shù)或模塊的測試
  • 集成測試:針對整體產(chǎn)品的某個(gè)功能的測試,又稱功能測試
  • 端對端測試:從用戶界面直達(dá)數(shù)據(jù)庫的全鏈路測試
    第一輪至少要跑單元測試。

代碼 review 相當(dāng)重要,不能讓任何沒有審查過的代碼提交到主分支。在Google,沒有程序,任何產(chǎn)品、任何項(xiàng)目的程序代碼,可以在沒有經(jīng)過有效的代碼審查前提交到代碼庫里的。

流程

在前后端分離的開發(fā)中,比較好的流程就是把審查加入到各個(gè)環(huán)節(jié)。

  1. 需求分析
  2. 需求評(píng)審
  3. 先定義開發(fā)文檔
  4. 開發(fā)文檔評(píng)審
  5. 前端、后端在各自的分支開發(fā)。
  6. 前端使用測試接口,開發(fā)。http://mockjs.com/ 模擬數(shù)據(jù)
  7. 后端一個(gè)小功能點(diǎn)完成,提交 pull request
  8. 審查
  9. 合并
  10. 前端拉取代碼,接入調(diào)試
  11. 前端提交Pull reqeust
流程圖

最后是集成發(fā)布!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,045評(píng)論 25 709
  • 本文首發(fā)于 GitChat,現(xiàn)免費(fèi)放出~感謝大家的支持。 我們都知道,大學(xué)幾乎是沒有 Web 前端課的。以我所在的...
    hylerrix閱讀 5,175評(píng)論 6 60
  • PPT學(xué)習(xí)過程中的積累無處不在,甚至是看動(dòng)畫片的時(shí)候。 今天看到一個(gè)動(dòng)畫短片,其中有一頁效果挺不錯(cuò)的,就是下面人物...
    曬書包閱讀 1,570評(píng)論 0 1
  • 佛說要舍得放下, 我看了看握在手中的今生, 舍下它, 我將如何沿著那已模糊的線索尋找前世的你。 佛說聚散皆是緣, ...
    彼岸燈火閱讀 397評(píng)論 0 0
  • 俗話說,冬三九,夏三伏。講的是一年之中平均氣溫相對最低與最高兩個(gè)階段。第三伏往往出現(xiàn)在立秋之后,民間有“秋老虎”的...
    園藝小綠閱讀 1,052評(píng)論 0 1

友情鏈接更多精彩內(nèi)容