如何更高效地使用版本控制系统?

版本控制系统是个好东西。它可以帮助我们控制软件及其相关文档的正确版本,减少软件开发过程中由于使用错误的软件或文档带来的错误。

可是,好工具能不能发挥作用还得看怎么使用。下面是对高效使用版本控制系统的几点建议。

  1. 对所有内容进行版本控制

关于哪些内容要纳入版本控制,实际上是GJB5000A配置管理过程域第一个专用实践“标识配置项”要解决的问题。在标准中给出了一个比较宽泛的选择:

配置标识是下列各项的选择、创建和规格说明:a) 交付给顾客的产品。b) 指定的内部工作产品。c) 采购的产品。d) 工具和项目工作环境的其它主要资产。e) 在生成和描述这些工作产品时所使用的其他项。

可是,我们在实际选定配置项的时候,通常只考虑了前两种情况——交付的产品和组织要求存档的产品——并没有好好思考其余的那些内容是否应当被控制起来。

这里我们想强调下“版本控制”这个术语并不是单指“源代码控制”。版本控制不仅仅针对源代码,实际上我们应当把每个与软件开发相关的内容都置于版本控制之下。因为我们进行版本控制的目标是通过版本控制可以让我们随时获取在整个生命周期中任意时间点的软件状态和环境。当软件出错时,我们就可以让软件恢复到任意我们想要他们恢复的正确状态的时间点上。

就像Windows系统恢复到之前设置的还原点上那样。

所以,纳入版本控制的不仅仅是交付或组织指定的代码和文档,还应包括测试代码、数据库脚本、构建和部署脚本、库文件和应用软件所用的配置文件、专用工具、以及测试环境和生产环境的配置信息(这里必需的信息包括应用程序所需的支撑软件的配置信息、构成对应系统环境的操作系统配置信息、DNS区域文件和防火墙配置等)。

  1. 频繁提交代码

使用版本控制系统给我们带来的一大优势就是我们可以频繁地提交代码而不用担心犯错,因为版本控制系统可以随时让软件回滚到最近某个正确的版本。

所以,开发人员应当利用版本控制系统的这一优势,在开发库中频繁地提交代码。方便地获取任一历史版本,可以让开发人员轻松Get到之前的任一解决方案。

当软件规模比较大,软件采用增量或迭代的开发方式时,对于受控库也可以采取多次提交代码的方式。只是为了不破坏已有的软件版本,需要采取以下两个实践:一是在提交代码之前快速运行一个测试套件,以验证本次提交没有引入明显的缺陷;二是每完成一个小功能或一次重构之后再提交代码。

  1. 每次提交代码都要提供有意义的注释

尽管每个版本管理工具都提供检入工作产品时要填写注释的功能,但是实际上很多开发人员都会因为各种各样的原因不去填写。没有注释,缺少了对本次提交文件内容的说明,会给后续的使用带来诸多不便。所以,我们每次提交代码都应当填写注释,并且是有意义的注释。

建议的注释规范是这样的:第一段是简短的总结性描述,接下来的几段描述更多的细节。必要时还应该包括一个链接,可以链接到项目管理工具中的一个功能或缺陷,从而知道为什么要修改这段代码。

这正是:

版本工具妙处多,正确使用享成果

频繁提交写注释,相关内容少不得

参考书目:持续交付:发布可靠软件的系统方法,作者:[英]Jez Humble,David Farley,译者:乔梁,出版社:人民邮电出版社

作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。

如何更高效地使用版本控制系统?》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.hashtobe.com/163.html