- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用极限编程改善项的设计和灵活性
测试驱动开发(TDD)改变了编码的过程,并且这种改变不仅是可能的,同时也是值得去做的。开发包括三方面的活动:编写测试用例,编码并进行测试,重构代码以消除重复代码使其更简单、更灵活、更容易理解。
这个过程会频繁地重复,每次进行测试均是为了保证产品的正确性。设计、编码和测试三者之间的鸿沟将不再存在,这样可以促进你对整个环境更好地理解。因此,你的设计(和编码)将随着项目的成熟逐步得到改善而非降低。
使TDD更加有效的原因是单元测试自动化,而且这些自动化单元测试的工具可以从Internet上免费获得。虽然没有简化功能版的商业产品,但开发人员可以合理地使用这些高质量的软件。本文将指导你怎样获得和使用Nunit并通过C#(或者任意一种基于Microsoft .Net Framework的语言)开发实践TDD。注意到类似的工具对于C++和Java开发人员也是可用的,因为他们支持大多数语言和操作系统。这些工具与极限编程紧密地结合起来,扩大了TDD应用的范围。
随着项目的逐渐成熟,难道你不愿意自己编写代码的道路通向坦途,而非走向荆棘丛生的崎岖小径?似乎看起来不管你采取什么方式,编码之路迟早会走向迷 途。项目越大,困难越多。有多少次当你以一个近乎完美的设计开始你的项目,然而一旦开始编码,你会发现自己事实上只看到了项目的局部?
测试驱动开发(TDD)改变了编码的过程,并且这种改变不仅是可能的,同时也是值得去做的。开发包括三方面的活动:编写测试用例,编码并进行测试,重构代码以消除重复代码使其更简单、更灵活、更容易理解。
这个过程会频繁地重复,每次进行测试均是为了保证产品的正确性。设计、编码和测试三者之间的鸿沟将不再存在,这样可以促进你对整个环境更好地理解。因此,你的设计(和编码)将随着项目的成熟逐步得到改善而非降低。
使TDD更加有效的原因是单元测试自动化,而且这些自动化单元测试的工具可以从Internet上免费获得。虽然没有简化功能版的商业产品,但开发 人员可以合理地使用这些高质量的软件。本文将指导你怎样获得和使用Nunit并通过C#(或者任意一种基于Microsoft .Net Framework的语言)开发实践TDD。注意到类似的工具对于C++和Java开发人员也是可用的,因为他们支持大多数语言和操作系统。这些工具与极 限编程紧密地结合起来,扩大了TDD应用的范围。
为什么设计会降低性能
大多数传统软件开发过程是基于你在设计之初正确的设计与估计,并通过开发以形成完美的产品。这种开发方式保证了产品的统一性和之间的最小差异。然而 这一过程却忽略了交流与反馈,同时也不利于生成错误信息(测试失败),并因此制定策略采取相应的措施(修复设计),而这些正是TDD所重视的。
为什么我们不能在开始就获得正确的设计?因为在开发时,处于项目之初的我们无法获得有关这个软件完整的知识。迭代式开发虽然也认同这一事实,并帮助 你在项目开发初期识别一些重要的问题,而不是把这些问题留在后期解决。然而,迭代法无法终止开发过程,使你回到设计阶段来解决问题,哪怕这只是因为一个命 名糟糕的公共类名。没有人愿意关注这些细小的问题,且不幸地,这种设计过程也禁止这种更新,因为在各个阶段不停重复的代价太高。
传统开发过程中的这些小问题一旦积累起来,会导致大问题的发生。你或许认为与其将时间耗费在这些对功能影响不大的细枝末节上,还不如将精力放在更重 要的环节。然而,这个命名糟糕的公共类在代码中保留的时间越久,则相关的使用也会越来越多,改变起来就越来越困难。之后,团队会在编码的时候非正式地修改 这些问题,很快,在计划发布整个产品时,你会做大量的工作尽量使代码和设计文档保持一致。对于这种情况来说,你之前的设计是没有价值的,因为代码本身就说 明了设计。
测试驱动开发允许你推迟决定,直到你更好地理解了问题之所在。当你只是了解到产品开发的一些基本信息时,你不必设计出完美的体系架构。这对于传统软 件开发中已经确定的理念来说,是一种挑战,从某种角度来说,甚至是违反常规的。因此我们建议你以一种开放的思想来尝试TDD,你会发现TDD的强大。
TDD的另一个好处是更容易掌握。你开发的一系列测试说明了代码的运行机制,这种程序自我编档的方式促进了交流。它要求你通过概览测试用例并阅读自 己的代码来获得反馈,从而有利于你创建的对象和组件更趋于松散耦合。同时,TDD可以推迟你的设计决策,从而简化设计,使你能集中精力修正设计的问题。最 后,它通过给出的一系列测试减轻你编码的压力,因为当测试发生中断时,它可以立即告诉你究竟发生了什么。
简介
要真正理解TDD,唯一的办法就是实践。让我们从一个简单的例子开始,这个例子并不要求任何特殊的工具
您可能关注的文档
- 佛山市中心组团新城1号污水泵站工程施工方案.doc
- 佛山某110kv变站施工组织设计_secret.doc
- 佛山科学技术学院届气工程与自动化专业毕业设计题目.doc
- 佛山顺德现代名邸-施工组织设计.doc
- 作业指导书-----轻钢龙骨石膏板隔墙.doc
- 作业指导书-3号机#7、8号低加吊装.doc
- 作业用防喷器室内试系统设计.doc
- 作业指导书:大型滚、改向滚筒更换.doc
- 使用Wireshak查看局域网内安全问题.doc
- 供应商管理论文:南株洲电力机车有限公司供应商管理研究.doc
- 2025年中国露点传感器行业市场供需格局及投资规划建议报告.docx
- 中国智能变电站运维行业发展监测及投资战略研究报告.docx
- 2025年中国船舶机电设备行业发展监测及投资战略规划报告.docx
- 2025年中国核承压设备行业市场运行现状及未来发展预测报告.docx
- 2025年中国CNC设备行业市场运行现状及未来发展预测报告.docx
- 2025年中国虚拟同步机行业市场全景评估及发展战略规划报告.docx
- Unit 2 How often do you exercise Section A (Grammar Focus~3c)说课稿-2024-2025学年人家新目标八年级英语上册.docx
- 中国移动式启闭机行业市场深度分析及发展前景预测报告.docx
- 2021-2026年中国农业耕整机械市场竞争格局及投资战略规划报告.docx
- 2021-2026年中国飞机刹车片行业市场运营现状及投资方向研究报告.docx
最近下载
- 佳能(Canon)EOS R系列 EOS R10 说明书.pptx VIP
- 招聘经理年度工作计划.pptx VIP
- DB34∕T 3456.1-2019 制造业高端品牌企业培育 第1部分:培育指南 .pdf VIP
- happy Birthday生日快乐-钢琴谱 高清正版完整版五线谱.pdf
- 中医特色治疗----温针灸疗法.pptx VIP
- 银行装修改造工程主要工程项目的施工程序和施工方法.docx VIP
- 《卖油翁》ppt说课课件(41页).ppt
- IPCEIAIPCJEDECJ-STD-002E-2017元器件引子、焊、接柱和导可焊(中文版).pdf
- 五年级下-1000道口算.docx
- 公司车辆管理制度及表格完整版.docx VIP
文档评论(0)