如何重构-改善既有代码的设计剖析.pptVIP

  • 5
  • 0
  • 约6.28千字
  • 约 35页
  • 2017-07-01 发布于湖北
  • 举报
如何重构-改善既有代码的设计剖析

7、以卫语句取代嵌套条件语句 (Replace Nested Conditional with Guard Clauses) 重构名录 函数中条件语句使人难以看清正常的执行路径,用卫语句替换嵌套条件 double getPayAmount() { double result; if (_isDead) result = deadAmount(); else { if (_isSeparated) result = separatedAmount(); else { if (_isRetired) result = retiredAmount(); else result = normalPayAmount(); }; }     return result; }; double getPayAmount() { if (_isDead) return deadAmount(); if (_isSeparated) return separatedAmount(); if (_isRetired) return retiredAmount(); return normalPayAmount(); }; 8、分解条件表达式( Decompose Conditional ) 重构名录 从复杂的条件语句分支中分别提炼出独立函数 if(date.before(SUMMER_START) || date.after(SUMMER_END)) charge = quantity * _winterRate + _winterServiceCharge; else charge = quantity * _summerRate if(notSummer(date)) charge = winterCharge(quantity); else charge = summerCharge(quantity); 构筑测试体系 如果你想进行重构,首先要拥有一个可靠的自动化测试环境。 自动化测试代码的价值 程序员代码编写只占小部分时间,大部分时间用于调试和查找BUG。自动化测试能够大幅减少由于重构代码及新增功能引人的BUG。 XUnit测试框架 XUnit是一个单元测试框架,用于编写自动化测试用例。每次对代码重构后运行一遍测试用例,检查是否引入了Bug。 引用译者的一段话作为结束: ‘重构已经变成了我的另外一种生活方式,变成了我每天的面包与黄油,变成了我们整个团队的空气与水,以至于无须到书中寻找任何神谕。’ 谢谢大家! QA * * * * * * * 重构-改善既有代码的设计 --罗书赟 2011年3月10日 目录 重构是对软件内部结构的一种调整,目的是在不改变外部行为的前提下,提高可理解性,降低修改成本。 重构是严谨、有序地对完成的代码进行整理从而减少出错的一种方法。 什么是重构? 重构概述 重构概述 利用重构技术开发软件时会把时间分配给两种行为: [重 构]与[添加新功能] 添加新功能时,不应该修改既有代码,只管添加 新功能。 重构时你就不能再添加功能,只管改进程序结构。 两顶“帽子”可交替进行,一会重构,一会添加 新功能。 两顶帽子 重构概述 改进程序设计 程序员为了快速完成任务,在没有完全理解整体 架构之前就修改代码,导致程序逐渐失去自己的结构。 重构则帮助重新组织代码,重新清晰的体现程序结构和进一步改进设计。 提高程序可读性 容易理解的代码很容易维护和增加新功能。代码首先是写给人看的,然后才是计算机看的。 为何重构? 重构概述 助你找到程序错误 重构是一个Code Review 和反馈的过程。在另 一个时段重新审视代码,会容易发现问题和加深对代码的理解。 助你提高编程速度 设计和代码的改进都可以提高开发效率,好的设计和代码都提高开发效率的根本。 提高设计和编码水平 对代码的重构,是快速提高设计和编码水平的方法。 为何重构? 重构概述 增加新功能时一并重构 增加功能前需要理解修改的代码,如果发现代码不易理解且无

文档评论(0)

1亿VIP精品文档

相关文档