版本控制系统是开发人员之间共享源代码的好方法,它们提供了多人同时在同一个代码库上工作的能力,而没有不断来回发送文件的危险。在嵌入式开发过程中犯了一个错误,请放心,只需简单地按一下按钮,就可以将代码回滚到一个新的起点。历史表明,没有版本控制系统的工作是一场迟早会发生的灾难!版本控制系统是一个必不可少的开发工具,有很多技巧可以帮助你掌握和充分利用这些系统。

技巧1——经常提交

一个开发人员做了一些小的改变,整个系统变得不稳定。开发人员没有担心,撤销了他所做的一些更改,瞧!系统仍然是坏的。没有版本控制系统,开发人员现在惊慌失措,试图理解他们在5分钟前所做的不记得的更改!另一方面,使用版本控制的工程师执行右键单击,简单地返回到代码的前一个工作版本,现在小心翼翼地向前移动。但是如果开发人员已经几天没有提交他的代码了呢?几天的努力可能会付诸东流,这就是为什么使用版本控制的开发人员应该经常提交!完成一项功能并提交。让部分功能正常工作,提交。这不仅可以在出现问题时节省工程师的时间,还会在版本控制系统中留下所做更改的痕迹。

技巧2——填写提交日志

如果一个工程师经常提交他们的代码变更,这是非常好的;但是,如果在变更日志中没有提供足够的信息,这可能是徒劳的。大多数版本控制工具都允许在提交代码时添加注释。在日志中填入有用的信息!不要留空白或在这里放隐晦的信息!将来,代码中可能会引入一个bug,当嵌入式开发人员回溯版本时,日志中必须包含有用的信息,说明发生了什么变化。这只需要几分钟,将节省许多小时的沮丧和头痛!尝试并提出一个在每次提交之前需要填写的通用日志格式。

技巧3——不要忘记将文件添加到VCS中

众所周知,版本控制系统会捉弄开发人员。最大的问题是当开发人员认为他正在提交代码,而实际上他并没有!怎么会这样?大多数系统要求在创建文件时将其添加到版本控制中。如果没有做到这一点,那么系统会提交并忽略那些没有被添加的文件!所以不要忘记添加文件到VCS!

技巧4——定义提交过程

  嵌入式开发人员很容易忘记添加文件到版本控制中,正确记录变更和与版本控制系统相关的各种任务。最好的办法是为每一项需要完成的不同任务创建一个流程。例如,创建一个提交进程。它看起来会像下面这样:

更新代码库中的版本日志

复制更改

将文件添加到VCS

开始提交过程

将更改日志粘贴到提交注释中,并添加任何其他相关注释

完成提交

可以记录额外的过程,例如创建代码分支,将代码分支与主源代码主干合并,以及创建代码的正式发布。

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

有时候,多个嵌入式开发人员在一个项目上工作,可能需要修改同一个模块。版本控制系统通常有一个特性,允许程序员锁定一个特定的模块进行编辑。这可以防止另一个程序员同时修改文件,从而有助于防止代码库中的冲突。

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

不可避免地会有一个bug潜入代码中而被忽视的时候,有时它会被发现,然后会问这个问题:“发生了什么变化?”。确定的唯一方法是比较代码的不同版本。如果不是因为大多数版本控制系统都包括一个差异工具,这可能是一个痛苦的过程。该工具允许跨不同版本的代码并排比较代码中的文件。这些改变被突出显示,然后可以作为bug的潜在来源进行检查。

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

将代码分支成一个单独的版本,进行修改,然后再将它合并回主版本主干的想法可能会令人害怕!如果出了问题会怎么样?如果没有正确合并,主分支损坏了怎么办?初学者经常会害怕合并分支,但不要担心!这是一种常见现象,尤其是当多个嵌入式开发人员参与项目时。如果犯了一个错误,很容易返回到一个版本并重新开始!克服这种恐惧的最好方法是练习,这将在第十条建议中进一步讨论。

技巧8——与Trac等工具集成

现在有很多工具可以很好地集成到控制系统中,这些工具包括从缺陷跟踪到项目管理工具。Trac是最受欢迎的,它不仅允许计划不同版本的软件,跟踪错误,甚至允许浏览存储在库中的代码库!这在代码评审和计划会议期间非常方便!最好的是这个工具是免费的!

技巧9——利用持续集成

有一个简洁的概念正在席卷全球,这就是持续整合。这个想法有几个不同的版本,但是最有趣的一个版本发生在开发人员提交代码的时候。作为提交的一部分,集成服务器将编译代码并运行单元测试!如果发现任何错误,它们将被报告给开发人员!这个想法是测试和代码一起被开发,每当一个新的版本被创建,它会被立即检查错误!这是一个独特的概念,应该加以重视!有许多免费的持续集成服务器,包括Hudson。

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

不管你读到多少技巧和诀窍,没有什么能胜过真实世界的经验。最常用的版本控制系统是SVN,客户端和服务器端的应用程序都可以免费下载。如果你不需要非常大的数据库,VisualSVN server是一个很好的服务器端。一旦达到一定规模,用户就需要开始付费。在客户端,Tortoise SVN是一个伟大的客户!嵌入式开发人员下载每一个并开始实验!在你知道之前,你将成为VCS的主人!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部