|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
据说很厉害,甚至可以把C#也干掉^_^,不过也很复杂,本来C++已经够复杂的。有人甚至还提出把这个东东引进标准,我觉得基本上不可能的。 团队开辟的一个方面就是在将一切的修改兼并到中央材料库之前,同意独自的开辟者在当地编写并构建(build)有特征的代码。开辟者能够在当地测试与调试最新的版本,而且能够包管他们一切的事情代码能够与其他同事的协同事情,他们能够手动测试这些代码,可是更好的举措就是将这一历程主动化而且供应立即反应,个中一个十分优异的办理计划就是延续集成。
延续集成
关于使用软件开辟团队而言,有良多进步产物质量和效力的头脑,个中的一种头脑就是被称作延续集成的办法,延续集成的一个条件就是立即反应。延续集成的一种最复杂的情势就是由一个开辟者完成一切的事情,由于一切的改动都是当即可见的,因而,单个开辟者在他们呈现成绩的时分就可以晓得这个成绩的存在,当一样的办法使用到团队情况中,及时体例就会成为一个成绩。
延续集成最年夜的特征在于当开辟者提交他们事情的时分,能够削减其他开辟者用于检测bug的工夫,而常常十分难以追踪到由这些bug所招致的成绩的本源,由于成绩一般是因为集成了新的代码而至,因集成而呈现的bug大概在呈现成绩之前已被嵌进到代码中好久了,与其消费工夫往追踪这些bug还不如花在其余项目上,关头是要尽早地发明成绩。
在延续集成办法的匡助下,尽年夜部分bug能够在引进代码的时分被发明,由于这些“怀疑犯”(开辟者的代码)是在他们提交新代码以后才呈现了毛病,以是加倍分明。因而,少花些工夫在追踪这些毛病上,开辟者就可以有更多的工夫办理他们本人的成绩,终极的了局是临盆效力的进步,但这类办法也依附于构建新版本的频次,从而向开辟职员供应有代价的反应。
什么时候举行构建(build)?
我还记很多年前曾事情过的项目,举行一次构建必要大批的工夫和精神,要提示开辟职员递交他们的代码,并且手动的构建历程十分严重,很天然的,当对开辟团队的代码举行构建的时分,毛病就摇头晃脑地呈现了,追踪这些成绩是必要工夫的,而且但愿能沿着准确的偏向往办理成绩,如许才干取得乐成,而这一历程所需的工夫常常招致了构建次数的削减,可是,屡次构建更容易于从延续集成中受害。
假如您想晓得一个乐成构建的前提是甚么,谜底视乎您的项目和情况而决意,可是我常常将它界说为一切的源文件都乐成编译、部署而且一系列测试都在体系中取得乐成,您必要一系列工具来完成这些事情,固然主动测试(automatedtesting)并非必须的,可是我激烈保举这类办法。
工具
以下是在.NET情况中创建与运转延续集成办法所必须的几本工具列表:
・源代码把持:这同意多个程序员经由过程提交、修改和增加新文件对使用软件代码的协同事情,VisualSourceSafe是一种盛行的选择,但另有良多更好的选择,好比Subversion,IBMsRationalClearCase,CVS和SourceGearVault。
・编译器:您可使用.NET框架的命令行编译器、VisualStudio.NET或其他的集成开辟情况。
・延续集成服务器:这是构建历程的次要把持器,它卖力监控为程序员提交卸码利用的源代码资本库,当到场新的代码时,最新的版本将被取回,构建历程也就作废了,延续集成历程的最初一步是经由过程电子邮件、网页等情势向全部团队传递构建的形态。有良多工具都能够完成这一步骤,我对照喜好CruiseControl.NET,另外一个选择是收费的Draco.NET,您必要一个专门的服务器来完成这一步骤。
・主动构建工具:用于源代码的主动构建的工具是必不成少的,收费的NAnt是一个很棒的选择,大概您可使用一个程序天生工具,假如您利用的是CruiseControl.NET的最新版本,则能够和VisualSourceSafe间接对话,如许就不必要像NAnt如许的主动构建工具了。
・选择性单位测试:在集成阶段使用单位测试能够匡助考证一般事情的代码,一个十分杰出的工具是NUnit,它是收费的并且在网上有大批的相干信息。
注重:安装与设置这些工具的内容已超越了这篇文章的局限,可是每一个产物的收集社区所供应的文档中包括了您利用这些产物所需的信息。
您筹办好利用延续集成了么?
延续集成并非针对缺点代码的灵丹灵药,但它相对能够开释出您可贵的工夫往对付更严重的成绩,开辟职员仍然必要编写健壮的代码并举行优秀的单位测试,别的,代码应当依照划定规矩举行提交(我倡议逐日提交),但是,利用延续集成能够匡助您考证代码、测试、计划等的质量,延续集成能匡助您节俭出底本用于构建的工夫,但您必要一些工夫往设置和办理专门用于延续集成的服务器。
我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。 |
|