确保提交安全的代码

北大青鸟大学城校区logo 北大青鸟大学城校区
招生简章校园环境师资力量就业明星招生问答软件工程师北京大学学历学员项目联系我们 报名通道

免费在线咨询通道>>

免费在线报名通道>>

北大青鸟报名电话
当前位置:北大青鸟 > 北大青鸟精神 >

确保提交安全的代码

标签:   分类:北大青鸟精神

“别管是不是速到代码签入的要求,要尽可能频繁地提交代码,特别是在要下班的时候。”

让你猜个谜语:相对不使用版本控制系统,更坏的状况是什么?答案是:错误地使用了版本控制系统。使用版本控制系统的方式,会影响生产力、产品稳定性、产品质量和开发日程。特别地,诸如代码提交频率这样简单的东西都会有很大影响。

完成一项任务后,应该马上提交代码,不应该让代码在开发机器上多停留一分钟。如果代码不能被别人集成使用,那又有什么用处呢?应该赶紧发布出去,并开始收集反馈。

很明显,每周或每月一次提交代码,并不是令人满意的做法——这样源代码控制系统就不能发挥其作用了。也许总有种种原因来为这种懒散的做法解释。有人说开发人员是采取异地开发(off-site)或离岸开发(offshore,访问源代码控制系统的速度很慢。这就是环境黏性(environmental viscosity)的例子——把事情做糟要比做好更容易。根明显,这是一个亟待解决的简单技术问题。

另一方面,如果在任务完成之前就提交代码又会如何?也许你正在开发一些至关重要的代码,而且你想在下班回家晚饭之后再继续开发。要想在家里得到代码,最简单的方式就是将其提交到源代码控制系统,到家之后再把代码签出。

向代码库中提交仍在开发的代码,会带来很多风险。这些代码可能还有编译错误,或者对其所做的某些变化与系统其他部分的代码不兼容。当其他开发者获取最新版本的代码时,也会受到这些代码的影响。

通常情况下,提交的文件应该与一个特定的任务或是一个bug的解决相关。而且应该是同时提交相关的文件,并注有日志信息,将来也能够知道修改了哪些地方,以及为什么要做修改。一旦需要对变更采取回滚操作,这种“原子”提变也是有帮助的,要保证在提交代码之前,所有的单元测试都是可以通过的。使用持续集成是保证源代码控制系统中代码没有问题的一种良好方式。

代码不执行提交操作的其他安全选择

如果需要将尚未完成的源代码传输或是保存起来,有如下选择.

使用远程访同。将代码留在工作地点,然后在家里使用远程访问获取,而不是将完成了一半的代码提交,再从家里签出.

随身携带。将代码复制到u盘、cD或DvD中,以迭到异地开发的目的。

使用带有底座扩展的笔记本电脑。如果是由于在多台电脑上开发造成的延续性问题,不妨考虑使用带有底座扩展的笔记本电脑,速样就可以带着代码到处走了。

使用最代码控制系统的特性。Microsoft Visnal Team System 2005 有一个“shelving”特性,因为有些产品的某些代码在提交之前,需要被其他部分调用。

在CVS和Subversion中,可以将尚未允许合并到主干的代码,最定为开发者的分支准备好后再共享代码。绝不要提交尚未完成的代码。故意签八编译未通过或是没有通过单元测试的代码,对项目来说,应被视作玩忽职守的犯罪行为。

切身感受

感觉好像整个团队就在源代码控制系统的另一端盯着你。要知道一旦提交代码,别人就都可以访问了。

平衡的艺术

有些源代码控制系统会区分“提交”和“可公开访问”两种代码权限。此时,可以进行临时的提交操作(比如在工作地点和家之间来回奔波时),不会因为完全提交未完成的代码,而让团队的其他成员感到郁闷。

有些人希望代码在提交之前可以进行复查操作。只要不会过久拖延提交代码的时间就没有问题。如果流程的某个部分产生了拖延,那就修正流程吧。

仍然应该频繁提交代码。不能用“代码尚未完成”作为避免提交代码的借口。

若有疑问请拨打北大青鸟咨询热线:010-80146691或点击免费在线咨询!
  • xml地图 网站地图 招生简章 合作企业 学员项目 联系我们
  • 关闭窗口