[技術討論]多人併發開發中的問題
這裡面涉及到多人併發同時開發一個類的問題,涉及到配置庫管理,程式碼規範化,協調配合開發方面的問題,更多的這裡就不展開了,下面來自水木社群中一個問題的對話中已經說明了很多這方面的問題了。
下面的問題雖然提到分散式版本管理,但其實不是分散式版本管理的問題,而是開發過程中的程式碼管理和開發配合的問題。
發信人: hyperLee (冬瓜de征途~~風雨無阻), 信區: SoftEng
標 題: 請問一個用分散式版本管理軟體的一個難題
發信站: 水木社群 (Sat Dec 26 11:43:45 2009), 站內
用分散式版本控制軟體,好處是每個人有一個倉庫,不需要依賴伺服器。但是現在有個問題。
如果兩個人同時更改了一個原始碼中的同一個函式,這樣在merge的時候,會出現衝突,這時候就需要手工處理衝突了。
我想問一下,手工處理這樣的衝突,是軟體開發的標準環節嗎?還是說所有需要手工處理的衝突,都是可以避免的?
--
昨日的一縷英魂,今日的萬里長城。
※ 來源:·水木社群 newsmth.net·[FROM: 159.226.230.*]
[本篇全文] [回覆文章] [本篇作者:Dieken] [回信給作者] [進入討論區] [返回頂部]
2
發信人: Dieken (風催草低 - 明月何嘗不照人), 信區: SoftEng
標 題: Re: 請問一個用分散式版本管理軟體的一個難題
發信站: 水木社群 (Sat Dec 26 11:55:44 2009), 站內
衝突是難免的,儘快、頻繁的提交、更新就是了。
【 在 hyperLee (冬瓜de征途~~風雨無阻) 的大作中提到: 】
: 用分散式版本控制軟體,好處是每個人有一個倉庫,不需要依賴伺服器。但是現在有個問題。
: 如果兩個人同時更改了一個原始碼中的同一個函式,這樣在merge的時候,會出現衝突,這時候就需要手工處理衝突了。
: 我想問一下,手工處理這樣的衝突,是軟體開發的標準環節嗎?還是說所有需要手工處理的衝突,都是可以避免的?
: ...................
--
※ 修改:·Dieken 於 Dec 26 11:55:54 2009 修改本文·[FROM: 123.123.2.*]
※ 來源:·水木社群 newsmth.net·[FROM: 123.123.2.*]
[本篇全文] [回覆文章] [本篇作者:dinny] [回信給作者] [進入討論區] [返回頂部]
3
發信人: dinny (mumble is a penguiner), 信區: SoftEng
標 題: Re: 請問一個用分散式版本管理軟體的一個難題
發信站: 水木社群 (Sat Dec 26 11:59:27 2009), 站內
【 在 hyperLee (冬瓜de征途~~風雨無阻) 的大作中提到: 】
: 用分散式版本控制軟體,好處是每個人有一個倉庫,不需要依賴伺服器。但是現在有個問題。
: 如果兩個人同時更改了一個原始碼中的同一個函式,這樣在merge的時候,會出現衝突,這時候就需要手工處理衝突了。
: 我想問一下,手工處理這樣的衝突,是軟體開發的標準環節嗎?還是說所有需要手工處理的衝突,都是可以避免的?
merge是版本控制/配置管理中的重要環節,但並不是說它就是軟體開發的某個環節,不是一個層面的內容。
兩個功能模組共享同一檔案(如標頭檔案)並且在某一開發環節都需要改動這個檔案,那麼出現衝突再所難免。一般來說,在本地改動之前針對repo做個pull,然後對branch進行rebase,可以減少merge時的衝突。
同時經常提交更改,儘量減少每次提交的更改程式碼量也有用處。
: ...................
--
農夫,山泉,有點田。
※ 修改:·dinny 於 Dec 26 12:02:03 2009 修改本文·[FROM: 61.148.56.*]
※ 來源:·水木社群 newsmth.net·[FROM: 61.148.56.*]
[本篇全文] [回覆文章] [本篇作者:qingrun] [回信給作者] [進入討論區] [返回頂部]
4
發信人: qingrun (青潤), 信區: SoftEng
標 題: Re: 請問一個用分散式版本管理軟體的一個難題
發信站: 水木社群 (Sat Dec 26 12:46:51 2009), 站內
如果你的團隊在開發前定義好每個人的方法屬性命名規則,做好區分,開發過程中對方法進行清晰的定義和區分,那麼發生衝突的地方就會少很多,另外,即使出現
了衝突需要merge,也可以通過工具直接merge成功——cc就能完全做到這一點(01年使用cc的時候發現的),但是如果你前面的美定義好,那麼這
個 merge就可能非常麻煩了。那就可能必須雙方都配合修改程式碼才有可能了。呵呵。
【 在 hyperLee (冬瓜de征途~~風雨無阻) 的大作中提到: 】
: 用分散式版本控制軟體,好處是每個人有一個倉庫,不需要依賴伺服器。但是現在有個問題。
: 如果兩個人同時更改了一個原始碼中的同一個函式,這樣在merge的時候,會出現衝突,這時候就需要手工處理衝突了。
: 我想問一下,手工處理這樣的衝突,是軟體開發的標準環節嗎?還是說所有需要手工處理的衝突,都是可以避免的?
--
我很傻,但是我很能幹
軟工類技術blog:blog.csdn.net/qingrun,等待100萬訪問。
※ 來源:·水木社群 http://newsmth.net·[FROM: 162.105.244.22]
[本篇全文] [回覆文章] [本篇作者:canper] [回信給作者] [進入討論區] [返回頂部]
5
發信人: canper (洗衣粉), 信區: SoftEng
標 題: Re: 請問一個用分散式版本管理軟體的一個難題
發信站: 水木社群 (Sat Dec 26 13:36:22 2009), 站內
基本上我們都調成鎖定模式,要改之前先鎖定吧
【 在 hyperLee (冬瓜de征途~~風雨無阻) 的大作中提到: 】
: 用分散式版本控制軟體,好處是每個人有一個倉庫,不需要依賴伺服器。但是現在有個問題。
: 如果兩個人同時更改了一個原始碼中的同一個函式,這樣在merge的時候,會出現衝突,這時候就需要手工處理衝突了。
: 我想問一下,手工處理這樣的衝突,是軟體開發的標準環節嗎?還是說所有需要手工處理的衝突,都是可以避免的?
: ...................
--
在我頭上做窩的螞蟻,你們保重
※ 來源:·水木社群 newsmth.net·[FROM: 113.96.185.95]
[本篇全文] [回覆文章] [本篇作者:qingrun] [回信給作者] [進入討論區] [返回頂部]
6
發信人: qingrun (青潤), 信區: SoftEng
標 題: Re: 請問一個用分散式版本管理軟體的一個難題
發信站: 水木社群 (Sat Dec 26 19:21:14 2009), 站內
更改之前先鎖定的方式,在很多專案中是無法使用的,並行開發和時間的逼迫,都會出現不能鎖定某一個淚來進行兩個甚至更多人的並行修改和開發的。
鎖定,類似於多執行緒的鎖機制,有可能出現死鎖,那時候,就是另一個技術風險引起的多種風險併發症了。呵呵
【 在 canper (洗衣粉) 的大作中提到: 】
: 基本上我們都調成鎖定模式,要改之前先鎖定吧
--
我很傻,但是我很能幹
軟工類技術blog:blog.csdn.net/qingrun,等待100萬訪問。
※ 來源:·水木社群 http://newsmth.net·[FROM: 162.105.244.22]
[本篇全文] [回覆文章] [本篇作者:hyperLee] [回信給作者] [進入討論區] [返回頂部]
7
發信人: hyperLee (冬瓜de征途~~風雨無阻), 信區: SoftEng
標 題: Re: 請問一個用分散式版本管理軟體的一個難題
發信站: 水木社群 (Sun Dec 27 09:51:05 2009), 站內
多謝各位高人指點,受教了!
--
昨日的一縷英魂,今日的萬里長城。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/257598/viewspace-623691/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 和開發同學討論的一個技術問題
- [技術討論]關於低耦合開發的討論
- 併發技術1:CSP併發理論
- 併發技術5:死鎖問題
- [技術討論]網路軟體開發的bug分析與公司開發管理問題之網易篇(有更新)
- 併發技術中同步
- 【併發技術04】執行緒技術之死鎖問題執行緒
- 「分散式技術專題」併發系列三:樂觀併發控制之理論研究分散式
- [技術討論]產品規劃的週期問題
- 訂單系統中併發問題和鎖機制的探討
- 請問這論壇開發有討論群不
- 併發處理中的問題以及解決這些問題的併發模型模型
- 高併發技術
- 教育系統開發中的一些技術問題解析
- 「分散式技術專題」併發系列一:基於加鎖的併發控制分散式
- 「分散式技術專題」併發系列二:基於時間的併發控制分散式
- 三層式開發中的層次劃分討論
- Java併發基礎04:執行緒技術之死鎖問題Java執行緒
- GO-併發技術Go
- 【併發技術02】傳統執行緒技術中的定時器技術執行緒定時器
- oracle併發問題Oracle
- Java併發---併發理論Java
- 資訊化技術討論組
- 軟體開發技術問答
- 探索併發程式設計(七)——分散式環境中併發問題程式設計分散式
- [技術討論]資料許可權中的理論和實際
- git多人開發Git
- mysql併發操作問題MySql
- 前端開發技術的發展前端
- 「分散式技術專題」併發系列三:樂觀併發控制之原型系統分散式原型
- 開發多人純語音聊天直播交友平臺的技術難點分析
- 教育直播平臺開發過程中,這些技術問題需要解決
- 高併發數字資產交易平臺開發技術架構架構
- 分散式系統設計中的併發訪問解決方案 | 得物技術分散式
- MyBatis之五_開發中的問題MyBatis
- OpenStack 介面開發中的排序問題排序
- MERGE開發中遇到的問題
- JF實際開發中的問題