代码坏味道 之 13 夸夸其谈未来性 speculative generality
《重构:改善既有代码的设计》中提到过一些代码的坏味道,针对这些坏味道,需要进行重构。
夸夸其谈未来性 speculative generality
- 问题1:未来可能要做某事,使用很多特殊情况来处理一些非必要的事情
- 解决方案:某个抽象类其实没有太大的作用,使用collapse hierarchy
- 解决方案:不必要的委托可以利用inline class 除掉
- 解决方案:如果函数的某些参数没有用上,实施remove parameter
- 解决方案:如果函数名称中带有多余的抽象意味,使用 rename method
代码坏味道 之 13 夸夸其谈未来性 speculative generality相关推荐
- 代码坏味道之非必要的
:notebook: 本文已归档到:「blog」 翻译自:https://sourcemaking.com/refactoring/smells/dispensables 非必要的(Dispensab ...
- 【死代码】(Dead Code)和【夸夸其谈未来性】(Speculative Generality)-如何解决被遗弃不用的代码以及暂时未被使用,但之后存在规划的代码?
死代码 ●症状和特点 一个变量.参数.字段.方法或类不再被使用(通常是因为它们已经过时). ●问题产生的原因 当对软件的需求发生变化或做出更正时,没有人有时间清理旧代码. 当其中一个 ...
- 代码坏的味道13:夸夸其谈未来性(Speculative Generality)
如果你的某个抽象类其实没有太大作用,请运用 Collapse Hierarch (折叠继承体系).不必要的委托可运用 Inline Class (将类内联化)除掉.如果函数的某些参数未被用上,可对它实 ...
- 代码坏味道之夸夸其谈的未来性
1.为什么会有夸夸奇谈的未来性呢? 当我们谈到这个问题的时候,我们就要反思在需求理解和设计的时候对程序变动性的理解出现了偏差."哦,我想我们总有一天炫耀做这事儿的"常常是一念之差导 ...
- 25种代码坏味道总结+优化示例
前言 什么样的代码是好代码呢?好的代码应该命名规范.可读性强.扩展性强.健壮性......而不好的代码又有哪些典型特征呢?这25种代码坏味道大家要注意啦 1. Duplicated Code (重复代 ...
- 讲点码德!避免这些代码坏味道,努力做一名优秀的程序员
Martin Fowler:任何一个傻瓜都能写出计算机可以理解的代码.唯有写出人类容易理解的代码,才是优秀的程序员. 大家闭着眼睛想一下什么是好代码?也许你的脑海中漂浮着一堆词:干净.整洁.命名规范. ...
- 25 种代码坏味道总结+优化示例
作者 | 捡田螺的小男孩 责编 | 欧阳姝黎 前言 什么样的代码是好代码呢?好的代码应该命名规范.可读性强.扩展性强.健壮性......而不好的代码又有哪些典型特征呢? Duplicate ...
- 讲点武德!避免这些代码坏味道,努力做一名优秀的程序员
Martin Fowler:任何一个傻瓜都能写出计算机可以理解的代码.唯有写出人类容易理解的代码,才是优秀的程序员. 大家闭着眼睛想一下什么是好代码?也许你的脑海中漂浮着一堆词:干净.整洁.命名规范. ...
- .NET代码质量 | 一天一点代码坏味道(2)
[代码精进]| 总结/Edison Zhou 作为一个后端工程师,想必在职业生涯中都写过一些不好维护的代码.本文是我学习<代码之丑>的学习笔记,今天第二天,品品重复代码和长函数方法的味道. ...
最新文章
- Springmvc配置定时任务注解开发
- 计算机在能源领域的应用,计算机在能源中的应用
- 用servlet设计OA管理系统时遇到问题
- 图形大小_PS图形复制——等距复制、旋转复制、大小变换复制
- 一览R基础包的六个高级绘图函数(盒型boxplot|条形barplot|直方hist|饼pie|dotchart|coplot)...
- DE16 Continuation: More General Periods
- UcOS-II 和linux比较
- 字典序的理解以及python实现
- Java中为什么使用事务?什么时候使用事务?如何使用事务?
- Atitit.跨语言标准化 web cgi api v2 saa CGI (通用网关接口) 编辑 CGI 是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。CG
- java编译运行_如何编译运行一个简单的java程序
- matlab如何更改程序中所有同名_MATLAB作图实例:52:添加网格线并编辑位置
- 共享内存,信号,信号灯集
- HDU 2042 不容易系列之二
- Java之String系列--intern方法的作用及原理
- 前言 金融大叔的梦想
- Linux —— wget -qO- 命令详解
- 三角定位法java代码_GitHub - megagao/IndoorPos: 这是一个采用蓝牙4.0--iBeacon技术的室内定位服务端程序。...
- 18个最佳代码编辑器/IDE推荐
- freemarker生成word,表格分页