计算机专业文献翻译极限编程.docx

上传人:b****6 文档编号:7743329 上传时间:2023-01-26 格式:DOCX 页数:48 大小:69.90KB
下载 相关 举报
计算机专业文献翻译极限编程.docx_第1页
第1页 / 共48页
计算机专业文献翻译极限编程.docx_第2页
第2页 / 共48页
计算机专业文献翻译极限编程.docx_第3页
第3页 / 共48页
计算机专业文献翻译极限编程.docx_第4页
第4页 / 共48页
计算机专业文献翻译极限编程.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

计算机专业文献翻译极限编程.docx

《计算机专业文献翻译极限编程.docx》由会员分享,可在线阅读,更多相关《计算机专业文献翻译极限编程.docx(48页珍藏版)》请在冰豆网上搜索。

计算机专业文献翻译极限编程.docx

计算机专业文献翻译极限编程

ExtremeProgramming(极限编程)

AswehaveexploredinseveralissuesofeAD,thetwomostpressingissues

ininformationtechnologytodayare:

正如我们在eAD的若干期中探究的那样,当今信息技术中最迫切的两个问题是:

Howdowedeliverfunctionalitytobusinessclientsquickly?

如何能快速地向商业用户交付功能?

Howdowekeepupwithnear-continuouschange?

如何才能跟上近乎连续的变化?

Changeischanging.Notonlydoesthepaceofchangecontinueto

accelerate,but,astheSeptemberissueofeADpointedout,organizations

arehavingtodealwithdifferenttypesofchange--disruptivechangeand

punctuatedequilibrium.Disruptivetechnologies,likepersonalcomputers

intheearly1980s,impactanindustry(inthecaseofPCs,several

relatedindustries),whileapunctuatedequilibrium-amassive

interventionintoanecosystemoraneconomy--impactsaverylarge

numberofspecies,orcompanies.TheInternet,whichhasbecomethe

backbonefore-commerceande-business,hasdisruptedawiderangeof

industries--moreapunctuatedequilibriumthanadisruption.

变化本身也在不断地变化中。

不仅仅是变化的速度在不断地提高,而且,如eAD的10月中所指出的,组织正在不得不应付各种类型的变化--

剧变与不断被打破的平衡。

产生剧变的技术,象在80年代早期的个人计算机,冲击了一个工业(PC机以及若干相关的工业)而不时打断的平衡--一个对生态系统或者对整个经济产生巨大影响的介入--则

影响了无数的物种,或者说,公司。

已经成为电子商务支柱的Internet,就已使大范围的行业产生剧变--更多的是打断的平衡而不仅仅是一次剧变。

 

Whenwholebusinessmodelsarechanging,whentime-to-marketbecomesthe

mantraofcompanies,whenflexibilityandinterconnectednessaredemanded

fromeventhemoststaidorganization,itisthenthatwemustexamine

everyaspectofhowbusinessismanaged,customersaredelighted,and

productsaredeveloped.

当整个商业模式正在发生变化,当"时间意味着市场"正成为公司的咒语,当适应性与互连性正在成为甚至是最呆板的组织的需要的时候,我们将有必要检查以下的每一个方面:

商业是如何管理的,客户为什么而感到高兴,以及产品是如何开发的。

TheExtremeProgrammingmovementhasbeenasubsetoftheobject-oriented

(OO)programmingcommunityforseveralyears,buthasrecentlyattracted

moreattention,especiallywiththerecentreleaseofKentBeck'snewbook

ExtremeProgrammingExplained:

EmbraceChange.Don'tbeputoffbythe

somewhat"in-your-face"monikerofExtremeProgramming(XPto

practitioners).AlthoughBeckdoesn'tclaimthatpracticessuchaspair

programmingandincrementalplanningoriginatedwithXP,therearesome

veryinteresting,andIthinkimportant,conceptsarticulatedbyXP.

There'salotoftalktodayaboutchange,butXPhassomeprettygood

ideasabouthowtoactuallydoit.Hencethesubtitle,EmbraceChange.

终极编程(ExtremeProgramming)运动成为面向对象编程这个团体的一部分已经有数年了,

但是直到最近才引起了越来越多的注意,特别是最近KentBeck的《终极编程释义:

拥抱变化》(ExtremeProgramming

Explained:

EmbraceChange)一书的出版。

千万不要因为终极编程(业内人简称为XP)这一称呼而对它产生反感。

尽管Beck没有说象配对编程(pairprogramming),增量式计划(incrementalplanning)之类的来源

于XP,但是仍然有一些非常有趣的,我认为也是很重要的概念可以借用XP来表达。

现有有许多关于变化的讨论,

但是XP却有许多如何实际去做的非常好的想法。

也就是这个副标题:

拥抱变化。

Thereisatendency,particularlybyrigorousmethodologists,todismiss

anythinglessponderousthantheCapabilityMaturityModel(CMM)ormaybe

theInternationalOrganizationforStandardization'sstandards,as

hacking.Theconnotation:

hackingpromotesdoingratherthanthinkingand

thereforeresultsinlowquality.Thisisaneasywaytodismisspractices

thatconflictwithone'sownassumptionsabouttheworld.

有一种趋势,特别在那些严格的方法论者中,希望剔除那些与"能力成熟度模型"(CapabilityMaturityModel

CMM)或者是国际标准化组织的标准相比不那么笨重的方法,比如象hacking.注释:

hacking推崇行动而不是思考从而导致了较低的质量。

剔除与某人关于这个世界的假设相冲突的实践,这倒不失为一种简单的方法。

Lookedatanotherway,XPmaybeapotentialpieceofapuzzleI'vebeen

writingaboutoverthepast18months.Turbulenttimesgiverisetonew

problemsthat,inturn,giverisetonewpractices--newpracticesthat

oftenflyinthefaceofconventionalwisdombutsurvivebecausetheyare

betteradaptedtothenewreality.ThereareatleastfourpracticesI

wouldassigntothiscategory:

从另一个角度来看XP,它倒可能是一个难题的某个潜在的部分,这个一个我在过去18个月中一直都在写的内容。

混乱的时期产生新的问题,而后者又导致了新的实践--新的实践公然违抗

传统的知识,但却得以幸存下来是因为它们能更好地适应这个新的现实世界。

至少有四种实践方式我觉得是属于这个范畴的:

XP--thefocusofthisissueofeAD

XP--eAD本期的焦点

Leandevelopment--discussedintheNovember1998issueofeAD

轻量级的开发(Leandevelopment)--已经在eAD199811月中讨论

CrystalLightmethods--mentionedintheNovember1999issueofeADand

furtherdiscussedinthisissue

轻量级的Crystal方法(CrystalLightmethods)--曾在eAD1999年11月提到,在本期中将做进一步的讨论

Adaptivesoftwaredevelopment--describedintheAugust1998issueof

eAD(thencalledApplicationDevelopmentStrategies--ADS)

自适应软件开发(Adaptivesoftware

development)--在eAD1998年8月中描述过(当时叫做应用开发策略ApplicationDevelopment

Strategies--ADS)

Althoughtherearedifferencesineachofthesepractices,therearealso

similarities:

theyeachdescribevariationsfromtheconventionalwisdom

abouthowtoapproachsoftwaredevelopment.Whereasleanandadaptive

developmentpracticestargetstrategicandprojectmanagement,XPbrings

itsdifferingworldviewtotherealmofthedeveloperandtester.

尽管这些实践中存在着差异,但是它们中也有相似的地方:

它们都描述了与传统软件开发不同的方法。

虽然轻量级的开发与自适应开发针对的是战略与项目管理的,但是XP却用不同的视角将开发方法带入了程序员与测试员的领域。

MuchofXPisderivedfromgoodpracticesthathavebeenaroundforalong

time."NoneoftheideasinXParenew.Mostareasoldasprogramming,"

Beckofferstoreadersintheprefacetohisbook.Imightdifferwith

Beckinonerespect:

althoughthepracticesXPusesaren'tnew,the

conceptualfoundationandhowtheyaremeldedtogethergreatlyenhance

these"older"practices.Ithinktherearefourcriticalideastotake

awayfromXP(inadditiontoanumberofothergoodideas):

XP中许多部分其实都来自于业已存在的那些优秀的开发实践。

"XP中没有一个想法是全新的。

大多数想法产生的时间实际上和编程一样古老"Beck在他书中的前言中这样说道。

但是我在某一个方面考虑的也许与Beck有所不同:

尽管XP所用的实践方式不是全新的,但是概念的建立以及它们如何融合在一起极大地增强了

这些"老"的实践。

我想(除了许多其它的好思想外,还)可以从XP中提炼出四个关键的思想:

Thecostofchange

变化的成本

Refactoring

重构

Collaboration

协作

Simplicity

简单化

Butfirst,IdiscusssomeXPbasics:

thedozenpracticesthatdefineXP.

但是首先,我们来讨论XP的基础:

那十二个用于XP的实践方式。

XP-TheBasics

XP-基础

ImustadmitthatonethingIlikeaboutXP'sprincipalfiguresistheir

lackofpretension.XPproponentsarecarefultoarticulatewherethey

thinkXPisappropriateandwhereitisnot.WhilepractitionerslikeBeck

andRonJeffriesmayenvisionthatXPhaswiderapplicability,theyare

generallycircumspectabouttheirclaims.Forexample,bothareclear

aboutXP'sapplicabilitytosmall(lessthan10people),co-locatedteams

(withwhichtheyhavedirectexperience);theydon'ttrytoconvince

peoplethatthepracticeswillworkforteamsof200.

我必须承认一件事情,就是我喜欢XP的原因应该是它没有其他的那些花哨的东西。

支持XP的人们总是会向你指出XP适合的地方以及他的某些局限性。

而XP的实践者Beck以及Ron

Jeffties却相信XP会有更广泛的应用前景。

他们通常对于自己的要求都是很谨慎的。

例如:

小的(小于10人),公司局部(他们有直接的经验)两者对于XP的适应性都是很清楚的;他们并没有试图让人们相信XP可以适用于一个200人的团队。

TheProject

工程

ThemostprominentXPprojectreportedontodateistheChrysler

ComprehensiveCompensationsystem(theC3project)thatwasinitiatedin

themid-1990sandconvertedtoanXPprojectin1997.Jeffries,oneofthe

"ThreeExtremoes"(withBeckandWardCunningham),andIspentseveral

hourstalkingabouttheC3projectandotherXPissuesattherecent

MillerFreemanSoftwareDeveloperconferenceinWashington,DC,USA.

最为著名的XP项目是克莱斯勒综合补偿系统(称为C3工程),它在上个世纪的90年代中期开始,到1997演变为XP。

Jeffries,是"终极编程三人组"之一(另外两个是Beck同Ward

Cunningham)。

我在华盛顿特区同自由软件人谈论了有关C3的以及其他与XP项目有关的东西。

=================================

注解:

ChryslerComprehensiveCompensationsystem克莱斯勒综合补偿系统

================================

Originally,theC3projectwasconceivedasanOOprogrammingproject,

specificallyusingSmalltalk.Beck,awell-knownSmalltalkexpert,was

calledintoconsultonSmalltalkperformanceoptimization,andthe

projectwastransformedintoapilotofOO(XP)practicesafterthe

originalprojectwasdeemedunreclaimable.BeckbroughtinJeffriesto

assistonamorefull-timebasis,andJeffriesworkedwiththeC3team

untilspring1999.Theinitialrequirementsweretohandlethemonthly

payrollofsome10,000salariedemployees.Thesystemconsistsof

approximately2,000classesand30,000methodsandwasreadywithina

reasonabletoleranceperiodoftheplannedschedule.

最初,C3是一个基于OO(面向对象技术)的开发项目,尤其是它采用Smaltalk语言进行开发。

(Smaltalk

Xerox公司开发的一种高级程序设计语言,它支持和鼠标合用的选项屏驱动式应用程序,有助于建立便于使用的计算机程序。

)作为著名的Smalltalk专家,Beck被邀请来讨论有关SmalTalk性能优化的问题,并且在原项目被认为不可救要的时候将其变为一个采用面向对象OO(XP)方法的试验性项目。

Beck并且带来了Jeffries用于帮助那些基本的东西,Jeffries在C3组一直干到1999年的春天。

最开始的需求是要做一个对约10,000个雇员每月薪水发放进行管理的系统。

这个系统由大约2,000个类以及30,000个方法构成,并且在计划方面提供有合理的容忍度

Aswetalked,IaskedJeffrieshowsuccessontheC3projecttranslated

intoXPuseonotherChryslerITprojects.HisgrintoldmeallIneeded

toknow.I'vebeeninvolvedinenoughrapidapplicationdevelopment(RAD)

projectsforlargeITorganizationsovertheyearstounderstandwhy

successdoesnotconsistentlytranslateintoacceptance.Therearealways

atleastahundredverygoodreasonswhysuccessatRAD,orXP,orlean

development,orotherout-of-the-boxapproachesdoesn'ttranslateinto

wideruse--butmoreonthisissuelater.

正向我们所谈到,我问Jeffries他怎样成功的将C3变为XP并应用到其他的克莱斯勒IT项目。

他笑着告诉了我。

多年来我为许多大型IT组织开发了不少RAD系统(快速原型开发),因此我知道为什么我们无法将成功的经验运用于其它项目中.

对于RAD,XP,轻量级的开发以及其它一些未得到广泛应用的方法,它们成功的原因至少有一百条.

Practices

实践

OnethingtokeepinmindisthatXPpracticesareintendedforusewith

small,co-locatedteams.Theythereforetendtowardminimalism,atleast

asfarasartifactsotherthancodeandtestcasesareconcerned.The

presentationofXP'spracticeshavebothpositiveandnegativeaspects.At

onelevel,theysoundlikerules--dothis,don'tdothat.Beckexplains

thatthepracticesaremorelikeguidelinesthanrules,guidelinesthat

arepliabledependingonthesituation.However,some,likethe"40-hour

week,"cancomeoffasalittlepreachy.Jeffriesmakesthepointthatthe

practicesalsointeract,counterbalance,andreinforceeachother,such

thatpickingandchoosingwhichtouseandwhichtodiscardcanbetricky.

应记住的一件事情就是我们应倾向于在小型的,局部的团队中运用XP。

除了代码与测试用例外,

尽量减少有些的影响。

XP的实践既有正面的表现,也有负面的。

在某些方面看来,他们听起来就像一堆规则,要做这个,不要做那个。

对此Beck解释道,

与规则相比,

X

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1