中文字幕综合一区,伊人av网,欧美中日韩在线,亚洲国产香蕉视频,黄视频在线免费,天天操天天爱天天爽,狠狠躁天天躁

軟題庫(kù) 培訓(xùn)課程
當(dāng)前位置:信管網(wǎng) >> 其它資料 >> 文章內(nèi)容
并行開發(fā)版本管理之路(一)---版本管理危機(jī)
來(lái)源:信管網(wǎng) 2012年06月28日 【所有評(píng)論 分享到微信

  起始階段:

  項(xiàng)目的開始,項(xiàng)目組只有從第三方獲取的類庫(kù)、具備編程知識(shí)的程序員和PM(項(xiàng)目經(jīng)理)。由于成員數(shù)量不少,使用簡(jiǎn)單共享方式的版本管理往往難以勝任,某些人往往會(huì)因?yàn)樾鹿δ艿男枰蛘邿o(wú)意將一些代碼改得面目全非,無(wú)從追蹤。我們需要一個(gè)簡(jiǎn)單的版本管理工具,比如Visual Source Safe,每個(gè)人在修改代碼之前要求先將代碼文件標(biāo)記為“檢出”狀態(tài),每一次“檢入”代碼都在服務(wù)器上生成一個(gè)新的版本。好了,所有的代碼都有了版本記錄,我們可以查看代碼的演進(jìn)過(guò)程,對(duì)任何兩個(gè)版本進(jìn)行比較,也可以輕松的獲取到早先的版本。

  開始迭代:

  由于客戶的要求,項(xiàng)目開始進(jìn)行簡(jiǎn)單的迭代。PM要求所有人員檢入可以工作的代碼。然后開始執(zhí)行構(gòu)建。第一次全部構(gòu)建的過(guò)程可能并不順利,因?yàn)橛腥诵薷牧薃組件導(dǎo)致了依賴A組件的B組件不能正常工作了。當(dāng)然這個(gè)不難解決,我們需要對(duì)成員進(jìn)行培訓(xùn),要求每個(gè)人在檢入代碼前保證所有的構(gòu)建都是成功的。這很湊效,雖然每次構(gòu)建要耗費(fèi)不少時(shí)間。編譯的錯(cuò)誤很容易發(fā)現(xiàn),但是邏輯的錯(cuò)誤卻沒有那么簡(jiǎn)單了。不過(guò),到現(xiàn)在為止,這個(gè)并不太重要,畢竟項(xiàng)目剛剛開始迭代,在給客戶演示的時(shí)候偶爾崩潰也是可以忍受的。

  版本建立:

   隨著項(xiàng)目第一次交付期的臨近,PM決定停止新特性的開發(fā),確定1.0版本。并且將這個(gè)版本發(fā)布SIT(系統(tǒng)集成測(cè)試)。剛剛SIT測(cè)試的時(shí)候,大家都忙于修改自己的代碼中的BUG,忙得不亦樂乎。慢慢的,BUG數(shù)量曲線開始趨于平滑。很多人開始覺的可以將當(dāng)前版本發(fā)布,從而可以投入精力進(jìn)行新特性的開發(fā)了。PM也這么認(rèn)為,因?yàn)閺男枨蟾櫨仃嚨那闆r看,還有許多的工作量,客戶會(huì)要求在第二次交付(2.0.x版本)的時(shí)候看到剩下的需求都已經(jīng)實(shí)現(xiàn)。為了不影響1.0.x版本的構(gòu)建,PM下令所有人可以在本地編輯代碼以添加新特性,但是不得檢入版本機(jī),唯一允許被檢入版本機(jī)的是修改BUG的代碼。這在一段時(shí)間里看起來(lái)工作得不錯(cuò),知道有一天,小王發(fā)現(xiàn)他在 a.java 文件中添加和編輯了許多的新特性相關(guān)的代碼,但是 現(xiàn)在要命的是發(fā)現(xiàn)了一個(gè)跟 a.java 相關(guān)的BUG。冥思苦想,小王決定將a.java先備份起來(lái),然后撤銷檢出,ok,回到1.0.x的代碼了,在a.java中修改了一通,檢入了,很幸運(yùn),居然沒有引起問題。小王開始將原先備份的 a.java和修改過(guò)BUG的a.java中的更改進(jìn)行合并,合并的結(jié)果將產(chǎn)生一個(gè)新的a.java文件,這個(gè)文件沒有了已經(jīng)發(fā)現(xiàn)的BUG,而且包含了新特性的代碼。由于小王是高手,所編寫的代碼遵從了SRP(單一職責(zé)原則),所以小王的合并并沒有耗費(fèi)縮少時(shí)間。但是接下來(lái)的時(shí)間里,小王又發(fā)現(xiàn)b.java,c.java,d.java…x.java需要進(jìn)行這種手工的合并,每一次合并,他都要將文件預(yù)先備份起來(lái)。而且,因?yàn)樵?.0.x穩(wěn)定運(yùn)行之前,小王不得檢入自己的代碼,因此小王擔(dān)心,如果自己的硬盤崩潰,小王也為不能夠使用其它人編寫的新特性代碼而感到無(wú)比郁悶。PM也意識(shí)到這種情況,在一個(gè)晚上的權(quán)衡之后,PM決定在版本服務(wù)器上建立了2.0.x的目錄,將1.0.x的代碼拷貝到這里來(lái)。Ok,所有的新特性的開發(fā)在2.0.x中進(jìn)行,所有的BUG修改在1.0.x和2.0.x中同時(shí)進(jìn)行。這真是一個(gè)不錯(cuò)的主意。但是,過(guò)不了多久,項(xiàng)目組就被頻繁的拷貝粘貼折騰的死去活來(lái),代碼的修改沒有辦法被有效跟蹤則更是讓人傷透了腦筋。

掃碼關(guān)注公眾號(hào)

溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。

信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過(guò)深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。

相關(guān)內(nèi)容

發(fā)表評(píng)論  查看完整評(píng)論  

推薦文章