重构改善既有代码设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5、引入解释性变量( Introduce Explaining Variable ) 重构名录 将复杂表达式结果放入临时变量,用变量名来解释表达式用途 boolean isMacOs = platform.toUpperCase().indexOf(MAC) -1; boolean isIEBrowser = browser.toUpperCase().indexOf(IE) -1; boolean wasResized = resize 0; if (isMacOs isIEBrowser wasInitialized() wasResized) { // do something } if ( (platform.toUpperCase().indexOf(MAC) -1) (browser.toUpperCase().indexOf(IE) -1) wasInitialized() resize 0 ) { // do something } 重构-改善既有代码的设计 ——成汤 目录 重构是对软件内部结构的一种调整,目的是在不改变外部行为的前提下,提高可理解性,降低修改成本。 重构是严谨、有序地对完成的代码进行整理从而减少出错的一种方法。 什么是重构? 重构概述 重构概述 利用重构技术开发软件时会把时间分配给两种行为: [重 构]与[添加新功能] 添加新功能时,不应该修改既有代码,只管添加 新功能。 重构时你就不能再添加功能,只管改进程序结构。 两顶“帽子”可交替进行,一会重构,一会添加 新功能。 两顶帽子 重构概述 改进程序设计 程序员为了快速完成任务,在没有完全理解整体 架构之前就修改代码,导致程序逐渐失去自己的结构。 重构则帮助重新组织代码,重新清晰的体现程序结构和进一步改进设计。 提高程序可读性 容易理解的代码很容易维护和增加新功能。代码首先是写给人看的,然后才是计算机看的。 为何重构? 重构概述 助你找到程序错误 重构是一个Code Review 和反馈的过程。在另 一个时段重新审视代码,会容易发现问题和加深对代码的理解。 助你提高编程速度 设计和代码的改进都可以提高开发效率,好的设计和代码都提高开发效率的根本。 提高设计和编码水平 对代码的重构,是快速提高设计和编码水平的方法。 为何重构? 重构概述 增加新功能时一并重构 增加功能前需要理解修改的代码,如果发现代码不易理解且无法轻松增加功能,此时就需要对代码进行重构。 修补错误时一并重构 通过重构改善代码结构,能够帮助你找出BUG原因。 Review 代码时一并重构 有经验的开发人员Review代码时能够提出一些代码重构的建议。 何时重构? 重构概述 代码实在太混乱,重构还不如重写 项目即将结束时避免重构 此时已经没有时间进行重构了,应该在早些时候进行重构。如果程序有必要重构,说明该项目已经欠下“债务”,需要项目完成后进行偿还。 何时不该重构? 重构概述 重构与设计彼此互补 良好的设计是重构的目标,重构弥补设计的不足。 重构使得设计方案更简单 如果选择重构,预先设计时候只需找出足够合理的解决方案,实现的时候对问题会进一步加深,此时可以重构成最佳的解决方案。 重构能够避免过度设计 设计人员需要考虑将简单方案重构成灵活方案的难度。如果容易,只需实现简单方案。 重构与设计 重复的代码 (Duplicated Code) ☆☆☆☆☆ 重复代码是最常见的异味,往往是由于Copy Paste 造成的。 重构方法: 重复代码在同一个类中的不同方法中,则直接提炼为一个方法 如果重复代码在两个互为兄弟的子类中,则将重复的代码提到父类中 如果代码类似,则将相同部分构成单独函数,或者用 Template Method 设计模式 代码的坏味道 ☆表示坏味道指数 代码的坏味道 重复代码出现在不相干的类中,则将代码提炼成函数或者放在独立的类中 代码

文档评论(0)

151****1926 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档