极限编程(ExtremeProgramming,以下简称XP)是软件开发中的一个方法学。它让用户、商人、程序员和计算机能够有效的沟通。Perl作为一种动态开发语言,给极限编程小组的有效沟通,带来了不可思议的改变。在这个婚姻里面,Perl是修理和干活的一方,而XP 则是协调和帮助的一方。这个结合让你可以有效地编写强壮的软件。好像任何美满的婚姻一样,这个ExtremePerl的家庭成员都彼此的支持。例如XP让商人编写测试用例,而Perl让商人用他们自己的语言和工具来测试。绝大多数Perl用来运行测试,而XP则让程序员在开始编码之前就先定义单元测试的对象。在这本书里,你还会看到更多的Perl和XP彼此扶持的例子。正是这些使得ExtremePerl的应用更加强壮。 这本书邀请Perl开发人员和他们的客户用一个崭新的角度来看待软件开发过程。客户或广义上的商人会明白在高效和善变的需求分析过程中XP是如何促进开发人员和客户的沟通的。开发人员会明白XP对团队协作、渐进测试和逐步设计的关注是为了让他们能更多的为自己的手艺自豪。众多的例子用来说明ExtremePerl是如何操作的,包括最后一章对完整可用的应用程序的开发过程的描述。 给商人和用户
XP使你对参与的项目都承担客户的责任。这是对教条的一种解脱。你不用学习用例建模、对象建模或者甚至时尚建模。你在一张纸上面写下你的需求。甚至还可以画画,尽管程序员可能不希望你用彩色蜡笔来画。 作为用户,你也必需用合一的语调说话。你可以自由决定对需求讨论的详细程度,但是最后你总得用自己的语言来清晰地描述出来,这也就是所谓的故事。所有的不一致意见都必须在扮家家的时候解决掉。而所谓的扮家家,就是你和程序员共同决定每个功能对应开发时间的过程。 XP要求你改变思路,这是你要花时间适应的。你得总是和程序员在一起。程序员可不是心理学专家,要是他们错误理解了你的需求或者你觉得他们实作的某个内容不大对劲,那么你就得立刻给出回应。 最棒的是你总可以立刻结束进展。程序员总是用最简单的方法解决问题,你可能觉得难以置信,但问题的确经常在几周内得到解决。没有别的方法比这个更加直接地保证你的需求进入了软件里面,这正是你要做的活。每个人都被一个可用的软件驱动来工作。 给程序员和他们的经理
编程的角色在XP里面非常广泛,程序员负责倾听客户的需求,并且响应客户需求变化的动态。 对XP来说你得实实在在,不能有不确定的估计或者漫无边际的猜测。例如当客户想要加入国际化的功能的时候,你得很清楚这其中的代价的,你得告诉他为了那些功能要需要额外的多少时间。 XP的项目经理是教练也是跟踪者。程序员做完所有的工作,教练在帮边指导和欣赏。如果一切顺利,跟踪的活也很有趣。XP的12个简单实践里面已经有了很多的检查和平衡。然而有时候教练和跟踪者还得额外提醒程序员如何有效的使用这些实践。 编码是XP项目的核心手艺。要按照XP做你得喜欢编码。好在Perl的编码很有趣也很容易。XP在Perl编码的实践中加入了少量的规则,这使你开发的速度和质量都有所提高。 XP是面镜子。你勤快的重构代码,就会得到高质量的软件。这意味着你得修改那些差劲的无人敢于问津的代码。XP让你不怎么怕它。你和你的同伴有很多测试用例保证你们不会在重构的时候破坏任何东西。 重构的目标是唯一的表达概念。Perl比其他语言更容易让你做到这个。ExtremePerl代码可以紧凑易懂,琅琅上口。这种代码经常演变成为我所称为的面向主题编程SMOP。 面向主题编程把问题浓缩到一种小的语句中。在这本书里面的SMOP用的是已经很成熟的Perl。没有必要另外发明一种新语法。有时候你得换个角度来考虑问题才能明白SMOP,除非你早就熟悉某种阐述式编程语言,它和我们在学校里面学习的命令式传统编程语言很不同。 你得很熟悉Perl才能读懂这些例子。我跳过Perl语法的细节直接解释例子。你得随时准备查阅好用的Perl参考手册,比如有时你得查看它才能明白map是怎么回事。 最后:有些测试用例是关于bivio在线业务处理平台(bOP)的。我所在公司(http://www.bivio.biz)开发的一个开源应用框架。如果你大量编写测试用例,可能需要工具来帮助你快速有效的编写。bOP用了SMOP来简化单元测试和用例测试。我不是要像你推销bOP(它是自由/免费的),只是要展示SMOP如何应用于测试。这本书为了解释例子而引入了刚好足够的bOP。 如何阅读本书这本书向程序员和商人解释ExtremePerl。我还力图用(他人的)例子和个人经历为媒介来分享ExtremePerl的经验。这本书很详细的覆盖了极限编程的方方面面,所以即使以前没有经验也可以读懂。 本书的第一部分是ExtremePerl里面和编程无关的内容:why(背景),what(什么是极限编程和Perl)和how(发布计划,迭代计划,测试用例,跟踪和结对编程)。测试用例里面有些代码,但是任何人都应该能读懂。最后一章里面的SMOP是一个涉及到XP,Perl和SMOP的ExtremePerl例子。非编程人员可以扫过这章,重点阅读末尾的结论。 书的第二部分包含着众多真实的编程例子。随后的章节展示了什么是ExtremePerl:编码格调/规范,物流,测试驱动设计,延续式设计,单元测试,重构和SMOP。 若你是个自顶而下地考虑问题的人,我建议你从头到尾阅读本书。自底而上的读者可能最好反过来读。 如上一节所说,本书中的Perl代码可能比较难懂。每个编程的例子都不复杂,都只涉及为数不多的概念。然而代码对于有些程序员来说却可能显得非常复杂。如果你熟悉函数式编程和面向对象的Perl,这些例子就会变得一下子清晰起来。如果不是的话,你可能需要看看最后一章涉及到函数编程的部分。书中的参考资料也会很有用。面向对象的方面不怎么要紧,所以你哪怕没有面向对象的经验也可以明白。
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一页12 下一页
上一篇:Perl简单模块指南 下一篇:PerlCookbook2介绍
|