大多数开发项目都会涉及多个开发者。一个开发团队通常包括4~8人,大家并行地开发相同的代码。虽然团队可以指定一个人来修改所有文件,但是更实用的方法是使用版本控制系统支持并行开发。使用版本控制系统的另一个好处是可以追踪文件的修改记录(谁在什么时间针对文件的哪一部分做了什么修改),并合并其他开发者对文件的修改。 眼下最为常用的版本控制系统是Git,Android开源项目以及Linux内核也使用它来管理源代码。Git是一个分布式版本控制系统,允许开发者彼此独立地开发。当开发者完成某个功能后,就可以把对代码的修改推到服务器,以便其他开发者获取。 开发者可从http://git-scm.com阅读更多关于Git的资料,也可以下载不同平台的版本。更多关于Git和版本控制的介绍,推荐Version Control with Git一书(参见本章末尾的“延伸阅读”)。 Git的一大特点是,开发者要使用它并不一定要有一台服务器,这使得它适合各种类型的项目,小到只有一个人开发的项目,大到由多个团队组成的项目。建议在开发一个新的Android应用前总是初始化一个Git仓库。虽然可在IDE上执行所有的Git操作,但如果同时能在命令行中操作肯定好处多多。下面的例子显示怎样初始化一个新的Git仓库: $ git init <path to project directory> Initialized empty Git repository in <path to project directory>./git 当为项目设立好Git仓库后就可以添加提交修改了。通常,在IDE中执行这些操作,如有必要也可以在命令行中执行添加和提交命令。如果对Git不熟,建议在开始使用它前先学习相关的教程。 Git让开发团队在相同的源代码上一起工作变得非常强大。开发团队应该设立一个远程Git仓库,所有成员都可以从中同步代码修改。最简单的方式是建立一个gitolite服务器,这是一个提供远程访问Git仓库的专用服务器。或者使用像GitHub这种现成的托管解决方案来访问远程Git仓库。 Gitolite允许开发者设置自己的Git仓库托管服务器,并且能定义各种访问控制机制。如果需要对源代码有完全的控制,或者不想在公司网络以外的地方存储源代码,gitolite会是最好的选择。 可从http://gitolite.com/gitolite上找到gitolite的文档并下载。http://gitolite.com/gitolite/qi.html上有一篇优秀的快速安装指南。 GitHub使用Git为开发项目提供基于Web的托管服务。针对个人和企业提供免费和付费的在线服务。GitHub的一个强大功能是,它为互联网上的开发者提供了一个与他人共享代码的简单方法。如果想在办公室以外的地方访问中央仓库或者想将代码开源,那么GitHub是一个不错的选择。 更多关于GitHub的内容,请阅读http://github.com。 无论项目大小,使用版本控制都非常重要。即使只是一个小的原型应用或者测试程序,创建Git仓库仍是一个不错的做法。如果能够追踪代码历史,开发者不仅可以有效地追踪修改记录,还能理解某个修改发生的原因,因为每条提交都包含一个描述信息。新建一个项目后花点时间为它建立版本控制,这样做将使开发者获益匪浅。 许多软件开发者会发现另一个和版本控制相关的实用“工具”:也就是说,借用两双眼睛而不是一双对代码进行审查,因为开发者单独工作很容易漏掉自己的错误。这就是为什么代码审查对改善代码质量是一个很强大的技术。代码审查的一个问题是它比较耗费精力。幸好已经有非常优秀的工具支持代码审查,Gerrit便是其中的佼佼者。 Gerrit有两个主要优点,一是完美集成Git,二是完全基于Web。Android开源项目同样使用Gerrit作为代码审查工具。Gerrit的基本原理是,开发者把修改提交到主仓库,在将这些修改合并到主分支之前,Gerrit给每个“订阅”该修改的项目成员发送一个消息,告诉他们有新的代码需要审查。审查者接下来就可以比较当前修改和之前的提交,然后为这次修改打分,并对修改进行评论,指出某些地方需要继续修改还是修改完全合适。如果还要对刚才的提交进行修改,代码的作者可继续推送一个更新,Gerrit会跟踪它。如果一切都没问题并且审查通过,这个修改就会被推送到主分支,所有的开发者都可以获取它。 更多关于Gerrit的内容以及下载Gerrit服务器,请访问https://code.google.com/p/gerrit。 当多个开发者协同工作时,用Gerrit进行代码审查非常强大,因为它支持分布式审查。审查者没有必要坐在开发者跟前提问或者给出反馈,工具可以代劳。初看,这个额外的工具将给项目增加不必要的开销,但是经常做代码审查工作的开发人员都知道它能极大地提升代码质量。图1-2显示了Gerrit的用户界面。 图1-2 Gerrit代码审查工具的Web界面
Android编程实战——1.4 版本控制和源代码管理
书名: Android编程实战
作者: [阿根廷] 赫尔曼
出版社: 人民邮电出版社
原作名: Android Programming: Pushing the Limits
译者: 丁志虎 | 武海峰
出版年: 2014-6-1
页数: 348
定价: CNY 69.00
装帧: 平装
ISBN: 9787115357335