重复代码 Duplicated Code
重复代码的影响:程序中到处都是相同结构的表达式。若想修改此表达式,需要修改多个地方。
目标:相同表达式合并成一起,避免多处修改。降低修改成本。
常见以下几种:
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相关推荐
- 【重构】 代码的坏味道总结 Bad Smell (一) (重复代码 | 过长函数 | 过大的类 | 过长参数列 | 发散式变化 | 霰弹式修改)
膜拜下 Martin Fowler 大神 , 开始学习 圣经 重构-改善既有代码设计 . 代码的坏味道就意味着需要重构, 对代码的坏味道了然于心是重构的比要前提; . 作者 : 万境绝尘 转载请注明出 ...
- idea去除重复代码校验
idea去除重复代码校验 不勾选duplicated code即可 posted on 2018-10-03 18:43 凉凉的风 阅读(...) 评论(...) 编辑 收藏 转载于:https:// ...
- IDEA学习篇——finds duplicated code提示
found duplicated code in this file finds duplicated code 翻译: 发现重复的代码在这个文件中 发现重复的代码 原因: 应该是相同的代码分别出现在 ...
- IntelliJ IDEA “Finds duplicated code”提示如何关闭
发现重复的代码这个提示真的很烦啊,我们怎么关闭他呢. 设置在这里: Settings -> Editor -> Inspections -> General -> Duplic ...
- IDEA 黄色警告 found duplicated code in this file finds duplicated code
IDEA 编辑器发现重复的代码在文件中,会提示黄色警告 found duplicated code in this file finds duplicated code 具体如下图 这个警告不影响 ...
- Found duplicate code in xxx,Inspection info: Finds duplicated code
1.idea中报错如下图: 2.原因: 提示有重复代码块 3.解决方式 File → Settings → Editor → Inspections→搜索 "Duplicated Code& ...
- java重复代码重构_重构重复代码
java重复代码重构 As a software engineer working on a large project, you'll likely be asked to do cleanup w ...
- found duplicated code in this file
found duplicated code in this file finds duplicated code 翻译: 发现重复的代码在这个文件中 发现重复的代码 原因: 应该是相同的代码分别出现在 ...
- 去除IDEA报黄色/灰色的重复代码的下划波浪线
IDEA中根据设置的不同,有些代码页,当代码重复比较多时,会出现灰色或黄色的破浪线, 本身是一个不错的功能,为了减少一定量的重复代码,提醒开发人员注意,但是如果有时几行代码的重复没必要扔到一个统一的地 ...
最新文章
- 更改VMWare 虚拟机的硬件设置
- uItron内核原理和服务调用--Kernel篇
- c#开发中程序集调用时容易忽略的问题
- Golang入门教程(十五)指针
- android webview 数字键盘,android – 在WebView中显示数字键盘
- 201521123007《Java程序设计》第13周学习总结
- 如何验证某个 string 是否为合法的 GUID ?
- 很好的 .NET 换肤软件 IrisSkin
- React之回调函数形式的ref
- javascript 调用C++函数
- java贝叶斯分类器 开源_贝叶斯分类器
- 2)Java中的==和equals
- 通信原理最佳接收-匹配滤波器
- c语言制作文字画面剧情游戏(摸索课设
- openSUSE:下载帮助
- 不下心删了线上环境mysql数据库数据,辛亏有惊无险
- u盘win7纯净版_教你安装纯净版windows系统
- 系统应用修改包名,导致OTA升级后用户数据丢失
- 永远闪亮,网的眼睛 (转)
- 干货 | Elasticsearch 索引生命周期管理 ILM 实战指南