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