pick你最喜歡的代碼開發模型

 

    今天的對象選手是在代碼開發中進行團隊協作的工作流,現在企業的代碼都託管在Git倉庫平臺,因此瞭解Git代碼託管平臺的工作流非常重要,這樣才能在代碼開發過程中選擇最合適自己團隊的模式,提高團隊協作效率和代碼質量。因此選擇合適的對象非常重要噢。

    今天介紹的對象包含集中式工作流、功能開發工作流、GitFlow工作流、Forking工作流。

 

對象1:集中式工作流

    集中式工作流的特點是隻有一個master分支,開發者需要先把遠程的倉庫克隆到本地,之後的修改和提交都在進行,直到某個合適的時間(比如提測時間)再把本地代碼合併到遠程master,這種工作流不需要有太多的團隊協作,適用於小團隊。

 

 

 

    這種開發方式是最簡單的,基本上只有你一個人在對代碼進行修改,不用擔心其它人把遠程的內容改動了,你把本地代碼合併到遠程時出現代碼衝突問題(因爲開發過程中,別人把遠程的代碼修改了,你開發的基準倉庫內容已經變化了,再合併時就有問題了)。

    如果你喜歡二人世界,那麼這個對象是最適合你的,因爲不需要去處理和孩子、女方家庭種種錯綜複雜的事情。

 

對象2:功能開發工作流

    功能開發工作流的核心是關注功能開發。它要求每次新開發功能必須要從master分支拉取feature分支進行功能開發,開發完成並審覈(CodeReview)通過後,才能合併進master分支,保障master分支是穩定而乾淨。

 

 

 

    這種開發方式的好處是增強了團隊成員之間的代碼交流,提高代碼質量和團隊成員水平。對於剛加入團隊的新人或代碼水平不高的新手來說,新功能的開發從master分支創建feature分支開發,在合併到master分支時候需要申請合併,在審覈過程中團隊的老人或導師會幫你檢查是否正確的完成了功能、代碼的開發風格是否正確、代碼的寫法是否算法最優,一方面幫助新人瞭解了整個團隊的代碼管理機制,另一方面也學習到了同一個功能如何編寫是最好的,提高了代碼水平。如果你喜歡家庭,願意和女朋友的家人、朋友、未來的小孩都有不錯的交流,這個對象是最適合你的,因爲在和女朋友及其家人朋友的相處過程中,提高了你的綜合能力,也使得你們的愛情更有質量,畢竟也是經過了家人、朋友的考驗呢。

 

對象3:Gitflow工作流

    GitFlow工作流是最複雜的工作流,它的核心是明確工作規範,即根據開發內容不同劃分了不同的分支類型,再通過分支類型的不同規定了合併策略。

    爲了保障master分支的穩定,團隊首先會基於master分支創建一個Develop分支,Devlop分支的代碼內容和master分支是一致的,所有的修改都在Develop上進行。

    當團隊需要開發新功能時,就基於Develop分支創建新的feature分支,開發完畢,合併進Develop分支。當合並的內容達到一次發版要求,QA會基於Develop分支創建一個Release分支,在這個release版本上進行測試,所有測試中的問題都在release分支進行修復,直到達到上線要求再合併到Master分支和Develop分支,以master分支進行發佈。

    當線上出現緊急問題時,基於Master分支創建Hotfix分支,進行Bug的修復,再合併回Master分支。整個工作流要求嚴格,保障了整個項目的穩定性,適用於大型項目、多人開發團隊。

 

 

 

    這種開發方式的好處是在增強了團隊成員之間的代碼交流,提高代碼質量和團隊成員水平基礎之上,規範了開發流程、保障了項目的穩定性。對於多人合作開發的項目團隊來說,這種是最合適的,因爲項目複雜、內容多,通過明確的規範,能知道在什麼分支上做什麼事情,整個團隊的管理都可以有條不紊的進行。如果你喜歡一家人一起生活,這個對象是最適合你的,因爲在照顧自己小家的同時,也贍養了父母,雖然整個家庭很大,但通過明確的分支,家庭的每個成員都知道自己的責任和義務,和和睦睦、融融洽洽的在一起生活,有問題一起商量解決。

 

對象4:Forking工作流

    Forking工作流的核心在於分享。最初是因爲有些項目因爲做的很好,開發者將其放在了GitHub上開源,有的人需要用到這個內容並進行一些個性化的改造、或者是想幫助這個項目完成的更好,就把這個項目Fork到自己的倉庫組裏,在裏面進行開發和修改,等到完成之後,可以自用、也可以像倉庫的維護者提PullRequest,把自己的修改也增加到倉庫中,讓更多的人使用。逐漸的也演變成了大型項目的一種工作模式,因爲GitFlow工作流太嚴格了,要遵守的規則、記住的內容太多了,這一點也不freestyle,所以項目的開發者們也會從核心倉庫Fork倉庫到自己的倉庫組裏,在Fork倉庫下進行代碼的開發和修改,等到自測無誤的時候就像核心倉庫提PullRequest進行代碼的合併。

 

 

 

 

    這種開發方式的好處是在保證團隊協作和代碼質量的情況下,團隊合作方式更簡單靈活。如果你喜歡只談戀愛,那麼這個對象是最適合你的,對象完全靈活,交往的時長完全取決於雙方是否融洽和心情。

    上述分享了四個開發工作流模型,每個工作流都有自己的適用場景,如何選擇合適的工作流,需要基於團隊成員情況、團隊對工作流的理解、工作流的執行程度。

    就像這四種類型的對象一樣,年輕的時候可能只想談談戀愛,慢慢的也會過渡到二人世界,再到見父母見閨蜜基友,最後結婚生子,不同的選擇基於不同的年齡段、經濟能力、想法、對象。

 

 

AI課工場  人工智能也可以如此輕鬆好玩

在閱讀過程中有任何問題,請留言告訴我們

微信公衆號:AI課工場

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章