版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、暨南大学计算机科学系黄战在案例研讨的语境中引见这两种重要的开发实际。极限编程XP所提倡的重要测试实际是:首先编写测试。它还提倡不断地重构代码以改良质量,包括降低冗余、提高明晰度等。现代工具都支持这两种实际,并且有许多OO开发者信任这些实际的价值。测试驱动开发(TDD)迭代和矫捷XP方法提倡的优秀实际。在TDD风格的OO单元测试中,要在测试类之前编写测试代码,并且开发者要为几乎一切的产品代码编写单元测试。TDD的根本规律是编写一小段测试代码,然后再编写一小段产品代码,保证其经过测试,然后再编写更多的测试代码,依此类推。先写测试代码,此时无妨想象被测代码曾经写出来了。可以保证编写测试人们往往会忽略
2、单元测试。使程序员获得满足感从而更一直如一地坚持编写测试我可以编写经过这一测试的代码吗?有助于廓清接口和行为的细节可证明、可再现、自动的验证改动事物的自信心遵照以下方式完成每个测试方法:1创建测试固件。2 对其完成某些操作他所希望测试的某些操作3 评价结果能否为期望值。我们没有先编写一切的单元测试,而是只编写了一个测试方法,在类中实现该方法并确保经过测试,然后再反复这一过程。重构是重写或重新构建已有代码的构造化和规律性方法,但不会改动已有代码的外在行为,而是采用一系列少量转换的步骤,并且每一步都结合了重新执行的测试。不断地重构代码也是XP的一个实际,该实际也适用于一切的迭代方法包括UP。重构的
3、本质是:一次实行一小步保管行为的转换每次转换都称为“重构。每次转换后,要重新执行单元测试,以保证重构不会导致错误。重构和TDD具有关系一切的单元测试要支持重构过程。每次重构是:少量的但是一系列的改动。每次重构都伴随着重新执行的单元测试。会对代码和设计产生主体性的重新构造,同时一切的重构都要保证代码的行为与过去一致。public class Playerprivate Piece piece;private Board board;private Die dice;/ public void takeTurn()/ roll diceint rollTotal = 0;for (int i =
4、0; i dice.length; i+)dicei.roll();rollTotal += dicei.getFaceValue();Square newLoc = board.getSquare(piece.getLocation(), rollTotal);piece.setLocation(newLoc); / end of classpublic class Playerprivate Piece piece;private Board board;private Die dice;/ public void takeTurn()/ the refactored helper met
5、hodint rollTotal = rollDice();Square newLoc = board.getSquare(piece.getLocation(), rollTotal);piece.setLocation(newLoc);private int rollDice()int rollTotal = 0;for (int i = 0; i dice.length; i+)dicei.roll();rollTotal += dicei.getFaceValue();return rollTotal; / end of class/ good method name, but the
6、 logic of the body is not clearboolean isLeapYear( int year )return( ( ( year % 400 ) = 0 ) | ( ( ( year % 4 ) = 0 ) & ( ( year % 100 ) != 0 ) ) );/ thats better!boolean isLeapYear( int year )boolean isFourthYear = ( ( year % 4 ) = 0 );boolean isHundrethYear = ( ( year % 100 ) = 0);boolean is4Hundret
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Python图像处理与视觉技术
- 建筑工地消防安全管理与隐患排查整治全流程
- 农业面源污染综合治理:政策、技术与实践案例
- 2025 高中信息技术数据与计算之数据仓库的 ETL 数据转换脚本优化课件
- 世界著名紫砂壶文化达人介绍【课件文档】
- 2026年生物学活性与免疫学特性相似性评价技术要点
- 2026年数据信托创新服务综合体申报
- 2026年迈宝智能科技参与外骨骼国标制定企业技术实力解析
- 2026年闪电防护适航符合性验证试验大纲
- 2026年模型上下文协议统一调度数据访问规范应用
- 新疆维吾尔自治区、新疆生产建设兵团2025年中考道德与法治真题附同步解析
- 医院保洁员院感培训课件
- 网格员招聘笔试必考题库(含答案)
- 河海大水利计算及水资源规划课件07水资源规划和水库群调度
- 糖尿病足病人的健康教育
- 湖南省多测合一收费指导标准(试行)2024年版
- 医院物业服务职责
- 【课件】第四单元跨学科实践活动3水质检测及自制净水器-2025-2026学年九年级化学人教版(2024)上册
- 用人单位职业卫生管理自查表
- 王维古诗教学课件
- 《易制毒化学品企业档案》
评论
0/150
提交评论