重复代码的影响:程序中到处都是相同结构的表达式。若想修改此表达式,需要修改多个地方。
目标:相同表达式合并成一起,避免多处修改。降低修改成本。
常见以下几种:
1、同一个类有相同的表达式
2、两个类有相同表达式
3、两个子类有相同的表达式
4、两个不相干的类含有相同表达式

重复代码解决方法如下:

重复代码定义:不同的地方出现相同的程序结构:

如果你在一个以上的地点看到相同的程序结构,那么可以肯定:设法将它们和而为一,程序会变得更好。最常见的“重复代码”就是一个类内的两个函数含有相同的表达式。另一种常见情况就是两个互为兄弟的子类内含有相同的表达式。
  1)同一个类的2个函数含有相同的表达式,这时可以采用Extract Method(提炼函数)提炼出重复的代码,然后让这2个地点都调用被提炼出来的那段代码。
  2)两个互为兄弟的子类内含相同表达式,只需对2个类都是用Extract Method(提炼函数),然后对被提炼出来的函数是用Pull Up Method (方法上移) ,将它推入超类。如果代码之间只是类似, 并非完全相同,那么就得运用Extract Method(提炼函数 将相似部分和差异部分隔开,构成单独一个的函数。然后你可能发现可以运用Form Template Method (塑造模板函数)获得一个 Template Method设计模式。如果有些函数以不同的算法做相同的事,你可以选择其中较清晰地一个,并是用 Substitute Algorithm (替换算法)将其他函数的算法替换掉。
  如果2个毫不相关的类出现 重复代码,你应该考虑对其中一个运用 Extract Class (提炼类),将重复代码提炼到一个独立类中,然后在另一个类内使用这个新类。但是,重复代码所在的函数可能只应该属于某个类,另一个类只能调用它,抑或这个函数可能属于第三个类,而另2个类应该引用这第三个类。你必须决定这个函数放在哪儿最合适,并确保它被安置后就不会再在其他任何地方出现。

重复代码 Duplicated Code相关推荐

  1. 【重构】 代码的坏味道总结 Bad Smell (一) (重复代码 | 过长函数 | 过大的类 | 过长参数列 | 发散式变化 | 霰弹式修改)

    膜拜下 Martin Fowler 大神 , 开始学习 圣经 重构-改善既有代码设计 . 代码的坏味道就意味着需要重构, 对代码的坏味道了然于心是重构的比要前提; . 作者 : 万境绝尘 转载请注明出 ...

  2. idea去除重复代码校验

    idea去除重复代码校验 不勾选duplicated code即可 posted on 2018-10-03 18:43 凉凉的风 阅读(...) 评论(...) 编辑 收藏 转载于:https:// ...

  3. IDEA学习篇——finds duplicated code提示

    found duplicated code in this file finds duplicated code 翻译: 发现重复的代码在这个文件中 发现重复的代码 原因: 应该是相同的代码分别出现在 ...

  4. IntelliJ IDEA “Finds duplicated code”提示如何关闭

    发现重复的代码这个提示真的很烦啊,我们怎么关闭他呢. 设置在这里: Settings -> Editor -> Inspections -> General -> Duplic ...

  5. IDEA 黄色警告 found duplicated code in this file finds duplicated code

    IDEA  编辑器发现重复的代码在文件中,会提示黄色警告 found duplicated code in this file  finds duplicated code 具体如下图 这个警告不影响 ...

  6. Found duplicate code in xxx,Inspection info: Finds duplicated code

    1.idea中报错如下图: 2.原因: 提示有重复代码块 3.解决方式 File → Settings → Editor → Inspections→搜索 "Duplicated Code& ...

  7. java重复代码重构_重构重复代码

    java重复代码重构 As a software engineer working on a large project, you'll likely be asked to do cleanup w ...

  8. found duplicated code in this file

    found duplicated code in this file finds duplicated code 翻译: 发现重复的代码在这个文件中 发现重复的代码 原因: 应该是相同的代码分别出现在 ...

  9. 去除IDEA报黄色/灰色的重复代码的下划波浪线

    IDEA中根据设置的不同,有些代码页,当代码重复比较多时,会出现灰色或黄色的破浪线, 本身是一个不错的功能,为了减少一定量的重复代码,提醒开发人员注意,但是如果有时几行代码的重复没必要扔到一个统一的地 ...

最新文章

  1. 更改VMWare 虚拟机的硬件设置
  2. uItron内核原理和服务调用--Kernel篇
  3. c#开发中程序集调用时容易忽略的问题
  4. Golang入门教程(十五)指针
  5. android webview 数字键盘,android – 在WebView中显示数字键盘
  6. 201521123007《Java程序设计》第13周学习总结
  7. 如何验证某个 string 是否为合法的 GUID ?
  8. 很好的 .NET 换肤软件 IrisSkin
  9. React之回调函数形式的ref
  10. javascript 调用C++函数
  11. java贝叶斯分类器 开源_贝叶斯分类器
  12. 2)Java中的==和equals
  13. 通信原理最佳接收-匹配滤波器
  14. c语言制作文字画面剧情游戏(摸索课设
  15. openSUSE:下载帮助
  16. 不下心删了线上环境mysql数据库数据,辛亏有惊无险
  17. u盘win7纯净版_教你安装纯净版windows系统
  18. 系统应用修改包名,导致OTA升级后用户数据丢失
  19. 永远闪亮,网的眼睛 (转)
  20. 干货 | Elasticsearch 索引生命周期管理 ILM 实战指南

热门文章

  1. BufferedWriter详解
  2. PCL中利用KD-Tree搜索空间点云最临近点源码
  3. 前端开发实习面试题(JavaScript篇)
  4. ASP.NET:aspx文件
  5. 100ms的延迟让亚马逊损失1%销量,如何快速降低网站延迟?
  6. leveldb代码阅读笔记(一)
  7. 展望 | 2023年十大科技趋势
  8. 闲置服务器如何利用起来赚点零花钱
  9. 分区 与 bios 笔记本 tips
  10. 哈工大c语言ex6答案,哈工大C语言程序设计习题ex6.doc