配置管理的策略將決定如何管理項(xiàng)目中的一切變化,本章書中從版本控制系統(tǒng),管理依賴關(guān)系,管理配置信息,環(huán)境的配置管理來(lái)討論了配置管理的內(nèi)容及重要意義.
版本控制系統(tǒng)
-
使用版本控制系統(tǒng)的目的
1.保留每個(gè)文件的所有版本的歷史信息
2.讓分布式團(tuán)隊(duì)更高效的合作 -
版本控制系統(tǒng)應(yīng)當(dāng)控制哪些內(nèi)容
每個(gè)與所開發(fā)軟件相關(guān)的產(chǎn)物都應(yīng)當(dāng)被置于版本控制系統(tǒng)下,源代碼,測(cè)試代碼,數(shù)據(jù)庫(kù)腳本,構(gòu)建和部署腳本,文檔,庫(kù)文件和應(yīng)用軟件所用的配置文件都應(yīng)當(dāng)被納入版本控制之中.
在版本控制系統(tǒng)中,我們目前接觸最多的就是git了,不過(guò)我們并沒(méi)有將其用處發(fā)揮到極致,比如上述一些文檔并沒(méi)有被放進(jìn)去,不過(guò)用了git最大的受益點(diǎn)應(yīng)該是團(tuán)隊(duì)合作吧,代碼共享,實(shí)時(shí)更新,輕松回退確實(shí)非常方便.
-
使用版本控制系統(tǒng)注意什么
1.頻繁地提交代碼到主干
當(dāng)完成一個(gè)小功能或者一次重構(gòu)之后,就應(yīng)當(dāng)提交,及時(shí)更新代碼,既及時(shí)讓其他成員獲取到最新代碼,也不會(huì)讓自己的合并代碼解決沖突的工作量太大.我自己在團(tuán)隊(duì)做項(xiàng)目時(shí)很少建立分支,但一直以為這是一種比較優(yōu)的做法,今天看來(lái)并不是,這樣做無(wú)疑增加了復(fù)雜度,也延遲了了新功能的整合,最好大家都在主分支上寫,但是要頻繁提交.
2.提交注釋詳細(xì)寫
最好的注釋風(fēng)格是這樣的:第一段是簡(jiǎn)短的總結(jié)性的描述,接下來(lái)幾段能描述更多的細(xì)節(jié),讓別人一眼就能明白你的這次提交做了什么事情,如果代碼出現(xiàn)bug,解決起來(lái)也會(huì)容易很多.
依賴管理
這里主要分為外部庫(kù)文件管理和組件管理
我對(duì)組件管理稍微熟悉一點(diǎn),因?yàn)槲覀兡壳暗念~項(xiàng)目主要也運(yùn)用了組件化的思想,雖然每個(gè)組件都不大,但是也感受到了組件化所帶來(lái)的好處.各個(gè)組件獨(dú)立,互不影響但又互相關(guān)聯(lián).
軟件配置管理
-
配置的時(shí)間點(diǎn)
1.生成二進(jìn)制文件時(shí)
2.打包時(shí)
3.安裝部署軟件程序時(shí)
4.軟件在啟動(dòng)或者運(yùn)行時(shí)
具體的選擇應(yīng)當(dāng)在團(tuán)隊(duì)內(nèi)協(xié)商根據(jù)具體情況而定 - 應(yīng)用程序的配置管理
- 配置信息通常以鍵值對(duì)的形式來(lái)表示
- 軟件的配置信息一般可以選擇保存在數(shù)據(jù)庫(kù),版本控制系統(tǒng),文件目錄或者注冊(cè)表中.
- 管理配置信息最有效的方法是讓所有的應(yīng)用程序通過(guò)一個(gè)中央服務(wù)系統(tǒng)得到他們所需要的配置信息.
-
系統(tǒng)配置的測(cè)試
1.保證配置設(shè)置中對(duì)外部服務(wù)的引用是良好的
2.當(dāng)應(yīng)用程序一旦安裝好就要在其上裕興一些冒煙測(cè)試以驗(yàn)證它正常運(yùn)行.
這一小節(jié)感覺(jué)滅有切身的經(jīng)歷,不是特別理解
環(huán)境管理
環(huán)境配置和應(yīng)用程序的配置管理同等重要
高效配置管理策略的兩個(gè)基本原則是
1.將二進(jìn)制文件與配置信息分離
2.將所有的配置信息保存在一處
對(duì)環(huán)境變更過(guò)程的管理也是非常必要的,應(yīng)當(dāng)嚴(yán)格控制生產(chǎn)環(huán)境,不得輕易修改,而且生產(chǎn)環(huán)境的提交也必須經(jīng)過(guò)嚴(yán)格的測(cè)試,一定記得每一次的提交都有可能被發(fā)布.
看完本章感覺(jué)就是對(duì)自己接觸過(guò)的東西有了更加正確深刻的理解比如版本控制系統(tǒng)以及其中的一些原則.但是后邊幾部分之前沒(méi)怎么接觸看的時(shí)候并不能很快對(duì)號(hào)入座,比較吃力.