欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
軟件項目管理概覽----版本控制
 
軟件項目管理概覽----版本控制
 
 
隨著(zhù)軟件項目規模的不斷擴大,項目管理的作用變得越來(lái)越重要。如果一個(gè)需要長(cháng)期維護的項目不能得到很好的管理與控制,“軟件腐敗”就會(huì )發(fā)生,用不了多久,我們的程序可能就會(huì )像一團拌好的炸醬面一樣難以找到頭緒,維護的成本也會(huì )不斷增加。為了避免這種現象的發(fā)生,一方面我們需要對程序定時(shí)的進(jìn)行重構,使其回到有序化的軌道上,另一方面需要良好的監控以及管理,使其盡可能長(cháng)時(shí)間的保持“新鮮”而不至于腐敗。

    隨著(zhù)技術(shù)的發(fā)展,新的管理技術(shù)以及管理理念不斷涌現。版本控制、單元測試、以及項目自動(dòng)化這三大技術(shù)現在已經(jīng)成為很多軟件項目賴(lài)以成功的基石。

    版本控制

    為什么要使用版本控制系統?

    Ø 給團隊提供一個(gè)項目級別的撤銷(xiāo)按鈕

    Ø 記錄著(zhù)項目每時(shí)每刻的改動(dòng)

    Ø 使得多個(gè)程序員可以有序的同時(shí)為一個(gè)項目寫(xiě)代碼

    國內早期的版本管理多數使用Microsoft的Visual SourceSafe6.0簡(jiǎn)稱(chēng)VSS,使用這種管理方式多數是單線(xiàn)的管理方式,雖然VSS也提供一些分支與共享功能,但是它的性能低下,而且經(jīng)常會(huì )出現問(wèn)題,其可用性不高。其主要的版本管理模式如下圖。

    圖1:VSS中的代碼倉庫生命周期

 

    中間的方塊顯示了我們代碼倉庫的狀態(tài),在最開(kāi)始只有一個(gè)主干(標準版)程序,我們把這個(gè)程序應用于項目1的時(shí)候,可能會(huì )發(fā)現一些新需求或者新BUG。然后我們在代碼倉庫上進(jìn)行修改,把這些改動(dòng)簽入了版本庫,這時(shí)我們的標準版仍有可能在改動(dòng),程序員可能會(huì )為標準版添加一些新特性(用*表示改動(dòng)了),這就意味著(zhù)版本可能出于一種不穩定的狀態(tài),新特性可能短時(shí)間內不能達到可以發(fā)布的狀態(tài),這時(shí)給項目1的團隊更新程序(即發(fā)布新版本)時(shí)就要把這些不穩定的新特性代碼過(guò)濾掉,再進(jìn)行發(fā)布,當多個(gè)項目同時(shí)使用這個(gè)代碼倉庫時(shí),會(huì )造成了一個(gè)目錄中實(shí)際疊加了多個(gè)項目的代碼。這是這種早期版本控制方式的主要缺陷。在VSS之后出現的CVS(Concurrent Version System)軟件統治了版本管理領(lǐng)域相當長(cháng)一段時(shí)間,CVS針對VSS存在的問(wèn)題做出了一定的改善,但是仍不能滿(mǎn)足需求。最終Subversion(簡(jiǎn)稱(chēng)SVN)出現了,總結了CVS的長(cháng)處,改進(jìn)了不足,力圖成為CVS的接班人,它也的確做到了?,F在幾乎主流的開(kāi)源組織,以及提供網(wǎng)上代碼倉庫的網(wǎng)站都在使用Subversion,他們包括鼎鼎大名的Apache Software Foundation、Google Code、SourceForge.net等Subversion中分支是非常重要的概念。Subversion認為:開(kāi)發(fā)者應該使用分支把與主線(xiàn)開(kāi)發(fā)(標準版開(kāi)發(fā))具有不同生命周期的代碼(如各項目的發(fā)布版)從主線(xiàn)中分離出去。Subversion中項目具有如下的結構。

    圖2:Subversion中代碼倉庫的生命周期

 

    程序員們在主干目錄上進(jìn)行開(kāi)發(fā)。當代碼已經(jīng)處于比較完善的狀態(tài)時(shí),決定發(fā)布它并在項目1中使用。這時(shí)我們應該在分支目錄中為主干目錄創(chuàng )建一個(gè)分支(在Subversion中即一個(gè)拷貝)并打上一個(gè)標簽(如XX月XX日發(fā)貨,打標簽在Subversion中也是一個(gè)拷貝),然后項目1的工作組負責對這個(gè)分支進(jìn)行維護,而主要的開(kāi)發(fā)團隊仍在主干上進(jìn)行開(kāi)發(fā)。這樣主干和項目分支物理上處于不同的目錄,各自有獨立的生命周期,程序員對主干的標準版程序添加代碼不會(huì )對項目1造成影響,項目1分支中的代碼將會(huì )保持相對的穩定,對項目1的修改也可以有選擇的轉移到標準版中(這個(gè)轉移混合的過(guò)程在Subversion中是非常容易實(shí)現)。各個(gè)版本不會(huì )互相混淆,隨時(shí)可以取得各個(gè)發(fā)布版本。在Subversion中,分支主要用于發(fā)布、BUG修正、以及技術(shù)試驗。除此之外Subversion還提供了很多很好的特性,如:

    1.所有的文件統一使用一個(gè)版本號,這樣每一個(gè)版本號在項目生命周期代表一個(gè)切片,保留了一個(gè)一致性的快照。

    2.支持多人同時(shí)遷出一個(gè)文件,只要不同時(shí)修改同一行,Subversion都可以智能的進(jìn)行合并,如果在同一行上存在沖突,Subversion會(huì )提示你解決他。你也可以鎖定這個(gè)文件以避免其他人簽出。

    3.一次提交不管是單個(gè)還是多個(gè)文件,都是作為一個(gè)整體提交的,在這當中發(fā)生的意外例如傳輸中斷,不會(huì )引起數據庫的不完整和數據損壞。

    Subversion的理念與VSS是不同的。使用VSS的感覺(jué)像套著(zhù)沉重的枷鎖,而Subversion更像是是一個(gè)輕巧的拐棍,幫助你將項目不同的版本管理的井井有條。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Subversion開(kāi)源version control工具
InfoQ: ThoughtWorks開(kāi)發(fā)人員最喜愛(ài)的分布式版本控制系統
SVN與Git比較
SVN源代碼管理規范
subversion和maven配合開(kāi)...
SourceTree使用方法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久