掌握版本控制系统的十个技巧

    版本控制系统是在开发人员之间共享源代码的一种极好方法。这些系统能够让多人同时修改相同的代码集而不会发生频繁来回发送文件的风险。当开发出现问题时,这些系统能够确保简单的按一下钮就可以回到开发前的完美状态。历史表明,没有版本控制系统的开发过程将注定是一个灾难!版本控制系统是一种很重要的开发工具,掌握并充分发挥这些系统的作用有许多技巧。

    技巧1——频繁提交

    目前的嵌入式软件有着自己的生存方式,并且倾向于喜怒无常。开发人员只做了很少量的修改,整个系统就可能岌岌可危。开发人员无所畏惧,认为只要恢复他所做的少量修改就OK了!但系统仍然处于崩溃状态。没有版本控制系统,开发人员现在只能抓耳挠腮,试图回想他们5分钟前做的但一时又想不起来的修改!另一方面,使用版本控制的工程师只需轻轻点击鼠标就能恢复到以前正常工作的代码版本,然后小心谨慎地重新开始。但如果开发人员几天都没有提交他的代码会怎么样?数天的辛苦工作将付诸东流,这正是使用版本控制的开发人员应该频繁提交的原因!完成一个功能就提交。部分功能正常工作了也可以提交。这不仅能在系统出错时节省工程师的时间,而且能在版本控制系统中留下所做修改的完整痕迹。 

    技巧2——填写提交日志

    工程师能够频繁地提交他们的代码修改确实很棒;然而,如果在修改日志中没有提供足够的信息,这种提交也被证明是没有效果的。大多数版本控制工具都允许在提交代码时做一些注释。切记要在日志中填写有帮助和有用的信息!不要在这里留下空白或放置加密信息!日后当代码中出现缺陷并且开发人员追溯版本时,日志中包含有用的修改信息将显得非常重要。填写这些信息只需很短的时间,但可以节省很长时间的挫败和头痛感!尝试创建一个在每次提交代码前需要填写的通用日志格式。

掌握版本控制系统的十个技巧


     技巧3——不要忘了向版本控制系统中添加文件

     版本控制系统经常会作弄开发人员。最大的玩笑是开发人员认为他已经提交了代码但实际上他没有提交!怎么会发生这种情况呢?大多数系统要求当你创建了一个文件时你要将它加入版本控制系统。如果没有这样做,那么系统会愉快地提交但忽略掉没有加入的那些文件!因此不要忘了向版本控制系统添加文件!

掌握版本控制系统的十个技巧

    技巧4——定义提交过程

    实际上真的很容易忘记将文件添加到版本控制系统、正确地记录修改以及与版本控制系统相关的各种任务。最好是为需要执行的每个不同任务创建一个过程。例如,创建一个提交过程,类似于这样: 也可以整理归纳出其它一些过程,例如创建分支代码、合并分支代码与主干源代码以及创建正式发布的代码。

    技巧5——锁定正在处理的模块

    经常会发生多个开发人员在开发同一个项目并需要修改同一模块的情况。版本控制系统通常有个功能,允许编程人员锁定特定模块进行编辑。这样可以阻止另外一个编程人员同时修改同一文件,防止在代码集中发生冲突。

    技巧6——使用代码比较工具

    经常不可避免地发生代码中意外出现缺陷的情况。在发现这个缺陷后我们就会问一个问题,“改了什么地方?”确切了解修改内容的唯一方式是比较不同版本的代码。如果没有大多数版本控制系统都包含差异工具这个事实的话,这可是个痛苦的过程。这种差异工具允许对不同版本的代码进行并排比较。这些有差异的地方会被高亮显示,方便作为缺陷的潜在源进行详细检查。

    技巧7——不要害怕合并代码分支

    将代码分支到单独的版本、进行修改然后合并回主干版本这个概念经常让人感到恐惧!如果出错了会发生什么情况?如果没能正确合并、主干代码变崩溃了怎么办?初级人员经常担忧合并分支,但不必过分担心!这是一种很常见的事情,特别是当多个开发人员涉足同一项目时。如果出现了错误,也很容易回到前一个版本并重新开始!克服这种恐惧感的最佳方法是多实践,在技巧10中将有进一步讨论。 

    技巧8——集成像Trac这样的工具

    目前有许多工具可以完美地集成进版本控制系统。这些工具的范围也很广,从缺陷跟踪到项目管理工具不等。Trac是一种深受开发人员喜爱的工具,它不仅允许规划软件的不同版本,跟踪缺陷,还允许游览存储在知识库中的代码集!在代码检查和规划会议期间这个功能就显得非常便利!最吸引人的是这个工具是免费的!可以从http://trac.edgewall.org/网站下载。

掌握版本控制系统的十个技巧


    技巧9——利用连续集成

    现在有一种席卷全球的纯概念非常流行,即连续集成。虽然有多种不同版本的想法,但最让人感兴趣的一种是在开发人员提交代码时发生的。作为提交过程的一部分,集成服务器将编译代码,并运行单元测试!如果发现任何错误,它们都会报告给开发人员!这里的想法是测试与代码一起开发,只要新版本一创建,就立即检查是否有缺陷!这是一种独特的概念,应该充分加以利用!市场上有许多免费的连续集成服务器,包括大家熟知的Hudson。即便只是想要了解这种技术,这些服务器也值得一看。 

    技巧10——创建一个测试库并试验

    不管你阅读了多少技巧和提示,都无法完全取代实际的经验。最常用的版本控制系统是SVN。客户和服务端应用程序都可以免费下载。VisualSVN服务器是一个很好用的服务器,你不需要很大的数据库。一旦它达到某个值,就会要求用户开始支付费用。在客户侧,Tortoise SVN是一个不错的客户端!下载它们并开始试验吧!不用多久你就将成为VCS大师!

    原作者:Jacob Beningo Jacob Beningo是一位嵌入式系统设计的演讲师和咨询师。他曾与多家公司合作开发高质量和鲁棒性的产品,并帮助他们克服嵌入式设计挑战。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章