怎么做好集成呢?

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

免费在线咨询通道>>

免费在线报名通道>>

北大青鸟报名电话
当前位置:北大青鸟 > 北大青鸟学习帮助 >

怎么做好集成呢?

标签:   分类:北大青鸟学习帮助

“只要没有到开发的末尾阶段,就不要过早地浪费时间去想如何集成你的代码,至少也要等开发差不多的时候,才开始考虑它。毕竟,还没有完成开发,为什么要操心集成的事情呢!在项目的末尾,你有充裕的时间来集成代码。”

我们说过,敏捷的一个主要特点就是持续开发,而不是三天打鱼两天晒网似地工作。特别是在几个人一起开发同一个功能的时候,更应该频繁地集成代码。

很多开发者用一些美丽的借口,推迟集成的时间。有时,不过是为了多写一些代码,或者是另一个子系统还有很多的工作要完成。他们很容易就会这样想:“现在手头上的工作压力够大了,到最后我才能做更多的工作,才能考虑其他人代码。”经常会听到这样的借口:“我没有时间进行集成”或者“在我机器上设置集成环境太费事了,我现在不想做它”。

但是,在产品的开发过程中,集成是一个主要的风险区域。让你的子系统不停地增长,不去做系统集成,就等于一步一步把自己置于越来越大的风险中,世界没有了你仍然会转动,潜在的分歧会继续增加。相反,尽可能早地集成也更界易发现风险,这样风险及相关的代价就会相当低。而等的时间越长,你也就会越痛苦。

作者之一Venkat生活在印度钦奈市(Chcanai),经常赶火车去学校。像其他的大城市一样·印度的交通非常拥挤。他每次必须在车还没有停稳的时候,就跳上去或者跳下来。但,你不能从站的地方一下子跳上运行的火车,我们在物理课上学习过这种运动定律。而应该是,首先你要沿着火车行驶的方向跑.边跑边抓住火车上的扶手,然后跳入火车中。

软件集成就像这一样。如果你不断地独立开发,忽然有一天跳到集成这一步,千万不要为受到打击而吃惊。也许你自己在项目中就有这样的体会:每次到项目结束的时候都觉得非常不爽,大家需要日日夜夜地进行集成。

你能集成并且独立

集成和独立不是互相矛盾的,你可以一边进行集成,一边进行独立开发。

使用mock对象来隔离对象之间的依赖关系,连样在集成之前就可以先做测试。用一个mock对象模拟真实的对象(或者子系统)。就像是拍电影时在光线的掩饰下使用替身一样,mock对象就是真实对象的替身,它并不提供真实对象的功能,但是它更容易控制.能够模仿需要的行为,使测试竞加简单.

你可以使用它的对象,编写独立的单元测试,而不需要立刻就集成和测试其他系统,只有当你自信它能工作的时候,才可以开始集成。

当你在公司昏天黑地地加班时,唯一的好处就是可以享受到免费的披萨。

独立开发和早期集成之间是具有张力的。当你独立开发时,会发现开发速度更快,生产率更高。你可以更有效地解决出现的问题。但那并不意味着要你避免或延迟集成。你一般需要每天集成几次.最好不要2至3天才集成一次。

当早期就进行集成的时候,你会看到子系统之间的交互和影响,你就可以估算它们之间通信和共享的信息数据。你越早弄清楚这些问题,越早解决它们,工作量就越小。就好比是,刚开始有3个开发者,开发着5万行的代码。后来是5000个开发者进行3000万行代码的开发。相反,如果你推迟集成的时间.解决这些问题就会变得很难,需要大量和大范围地修改代码,会造成项目延期和一片混乱。

提早集成.频繁集成。代码集成是主要的风险来源。要想避免这个风险,只有提早集成,持续而有规律地进行集成。

如果你真正做对了,集成就不再会是一个繁重的任务。它只是编写代码周期中的一部分。集成时产生的问题,都会是小问题并且容易解决。

平衡的艺术

成功的集成就意味着所有的单元测试不停地通过。正如医学界希波克拉底的誓言:首先,不要造成伤害。

通常,每天要和团队其他的成员一起集成代码好几次,比如平均每天5~10次,甚至更多。但如果你每次修改一行代码就集成一次,那效用肯定会缩水。如果你发现自己的大部分时间都在集成,而不是写代码,那你一定是集成得过于频繁了。

如果你集成得不够频繁(比如,你一天集成一次.一周一次,甚至更糟),也许就会发现整天在解决代码集成带来的问题,而不是在专心写代码。如果你集成的问题很大,那一定是做得不够频繁。

对那些原型和实验代码.也许你想要独立开发,而不要想在集成上浪费时间。但是不能独立开发太长的时间。一旦你有了经验.就要快速地开始集成。

更多激励性的文章尽在北大青鸟学校!

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