配置管理的策略将决定如何管理项目中的一切变化,本章书中从版本控制系统,管理依赖关系,管理配置信息,环境的配置管理来讨论了配置管理的内容及重要意义.
版本控制系统
-
使用版本控制系统的目的
1.保留每个文件的所有版本的历史信息
2.让分布式团队更高效的合作 -
版本控制系统应当控制哪些内容
每个与所开发软件相关的产物都应当被置于版本控制系统下,源代码,测试代码,数据库脚本,构建和部署脚本,文档,库文件和应用软件所用的配置文件都应当被纳入版本控制之中.
在版本控制系统中,我们目前接触最多的就是git了,不过我们并没有将其用处发挥到极致,比如上述一些文档并没有被放进去,不过用了git最大的受益点应该是团队合作吧,代码共享,实时更新,轻松回退确实非常方便.
-
使用版本控制系统注意什么
1.频繁地提交代码到主干
当完成一个小功能或者一次重构之后,就应当提交,及时更新代码,既及时让其他成员获取到最新代码,也不会让自己的合并代码解决冲突的工作量太大.我自己在团队做项目时很少建立分支,但一直以为这是一种比较优的做法,今天看来并不是,这样做无疑增加了复杂度,也延迟了了新功能的整合,最好大家都在主分支上写,但是要频繁提交.
2.提交注释详细写
最好的注释风格是这样的:第一段是简短的总结性的描述,接下来几段能描述更多的细节,让别人一眼就能明白你的这次提交做了什么事情,如果代码出现bug,解决起来也会容易很多.
依赖管理
这里主要分为外部库文件管理和组件管理
我对组件管理稍微熟悉一点,因为我们目前的额项目主要也运用了组件化的思想,虽然每个组件都不大,但是也感受到了组件化所带来的好处.各个组件独立,互不影响但又互相关联.
软件配置管理
-
配置的时间点
1.生成二进制文件时
2.打包时
3.安装部署软件程序时
4.软件在启动或者运行时
具体的选择应当在团队内协商根据具体情况而定 - 应用程序的配置管理
- 配置信息通常以键值对的形式来表示
- 软件的配置信息一般可以选择保存在数据库,版本控制系统,文件目录或者注册表中.
- 管理配置信息最有效的方法是让所有的应用程序通过一个中央服务系统得到他们所需要的配置信息.
-
系统配置的测试
1.保证配置设置中对外部服务的引用是良好的
2.当应用程序一旦安装好就要在其上裕兴一些冒烟测试以验证它正常运行.
这一小节感觉灭有切身的经历,不是特别理解
环境管理
环境配置和应用程序的配置管理同等重要
高效配置管理策略的两个基本原则是
1.将二进制文件与配置信息分离
2.将所有的配置信息保存在一处
对环境变更过程的管理也是非常必要的,应当严格控制生产环境,不得轻易修改,而且生产环境的提交也必须经过严格的测试,一定记得每一次的提交都有可能被发布.
看完本章感觉就是对自己接触过的东西有了更加正确深刻的理解比如版本控制系统以及其中的一些原则.但是后边几部分之前没怎么接触看的时候并不能很快对号入座,比较吃力.