上QQ阅读APP看书,第一时间看更新
持续集成
程序员每天多次签入(check in)(5)他们的代码并进行集成。规则很简单:率先签入的人成功签入到代码库,其他人需合并(merge)本地代码后才能签入。
XP团队使用非阻塞的源码控制工具。这意味着程序员可以在任意时间签出任何模块,而不管其他人是否签出过这个模块。当程序员完成该模块的修改并签入时,他必须把自己的改动和别人先于他签出的改动进行合并。为了避免合并时间过长,团队的成员会非常频繁地自己的模块。
结对人员做一项任务上大约要花1~2个小时。他们写测试用例和产品代码。在某个适当的时间点,也许远远在任务完成之前,他们决定签入代码。最重要的是要确保所有的测试都能通过。他们把新代码集成进代码库中。如果需要,他们会对代码进行合并。如有必要,他们还会和先于自己签入的程序员进行协商。一旦集成进代码库,他们就开始从新代码中构建新系统。他们运行系统中的每一个测试,包括当前所有运行着的验收测试。如果破坏了原先可以工作的部分,他们就得进行修复。一旦所有的测试都通过,他们就算完成了签入。
因而,XP团队每天都会进行多次系统构建,他们会重新创建整个系统。如果系统的最终结果是一张光盘,他们就录制该光盘。如果系统的最终结果是一个可以访问的网站,他们就部署网站(可能部署到一台测试服务器上)。