代码坏味道 之 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 作为一个后端工程师,想必在职业生涯中都写过一些不好维护的代码.本文是我学习<代码之丑>的学习笔记,今天第二天,品品重复代码和长函数方法的味道. ...
最新文章
- webcdn故障处理一例
- 如何在Eclipse中添加新建包,java文件,工程工具栏按钮
- oracle 查询过去一个星期的数据_过去一星期,最懂我的居然是一个表情包
- [Leedcode][JAVA][第15题][三数之和][数组][双指针]
- JOJ的2042面试题目的数学推导过程
- plan explorer mysql_plan explorer支持oracle吗
- 啥叫旁路电容?啥叫去耦?可以不再争论了吗
- java calendar_Java Calendar getDisplayNames()方法与示例
- protobuf 向前兼容向后兼容
- LeetCode Lowest Common Ancestor of a Binary Search Tree (LCA最近公共祖先)
- 你第一次去丈母娘家时发生了哪些趣事?
- python bootstrap安装_python + django + bootstrap + uWSGI + nginx 环境搭建
- Python:PyCharm提示“Python version 2.7 does not support a ‘F‘ prefix”
- 数学趣题——猴子吃桃问题
- Protocol(协议)(二十)
- java+整合handwrite_解决java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad
- SpringBoot项目添加mybatis插件
- printf输出格式化
- ubuntu安装ROS
- 【测试工具】xenu检查网站死链接工具