《重构:改善既有代码的设计》中提到过一些代码的坏味道,针对这些坏味道,需要进行重构。
夸夸其谈未来性 speculative generality

  • 问题1:未来可能要做某事,使用很多特殊情况来处理一些非必要的事情

    • 解决方案:某个抽象类其实没有太大的作用,使用collapse hierarchy
    • 解决方案:不必要的委托可以利用inline class 除掉
    • 解决方案:如果函数的某些参数没有用上,实施remove parameter
    • 解决方案:如果函数名称中带有多余的抽象意味,使用 rename method

代码坏味道 之 13 夸夸其谈未来性 speculative generality相关推荐

  1. 代码坏味道之非必要的

    :notebook: 本文已归档到:「blog」 翻译自:https://sourcemaking.com/refactoring/smells/dispensables 非必要的(Dispensab ...

  2. 【死代码】(Dead Code)和【夸夸其谈未来性】(Speculative Generality)-如何解决被遗弃不用的代码以及暂时未被使用,但之后存在规划的代码?

    死代码 ●症状和特点    一个变量.参数.字段.方法或类不再被使用(通常是因为它们已经过时). ●问题产生的原因    当对软件的需求发生变化或做出更正时,没有人有时间清理旧代码.    当其中一个 ...

  3. 代码坏的味道13:夸夸其谈未来性(Speculative Generality)

    如果你的某个抽象类其实没有太大作用,请运用 Collapse Hierarch (折叠继承体系).不必要的委托可运用 Inline Class (将类内联化)除掉.如果函数的某些参数未被用上,可对它实 ...

  4. 代码坏味道之夸夸其谈的未来性

    1.为什么会有夸夸奇谈的未来性呢? 当我们谈到这个问题的时候,我们就要反思在需求理解和设计的时候对程序变动性的理解出现了偏差."哦,我想我们总有一天炫耀做这事儿的"常常是一念之差导 ...

  5. 25种代码坏味道总结+优化示例

    前言 什么样的代码是好代码呢?好的代码应该命名规范.可读性强.扩展性强.健壮性......而不好的代码又有哪些典型特征呢?这25种代码坏味道大家要注意啦 1. Duplicated Code (重复代 ...

  6. 讲点码德!避免这些代码坏味道,努力做一名优秀的程序员

    Martin Fowler:任何一个傻瓜都能写出计算机可以理解的代码.唯有写出人类容易理解的代码,才是优秀的程序员. 大家闭着眼睛想一下什么是好代码?也许你的脑海中漂浮着一堆词:干净.整洁.命名规范. ...

  7. 25 种代码坏味道总结+优化示例

    作者 | 捡田螺的小男孩       责编 | 欧阳姝黎 前言 什么样的代码是好代码呢?好的代码应该命名规范.可读性强.扩展性强.健壮性......而不好的代码又有哪些典型特征呢? Duplicate ...

  8. 讲点武德!避免这些代码坏味道,努力做一名优秀的程序员

    Martin Fowler:任何一个傻瓜都能写出计算机可以理解的代码.唯有写出人类容易理解的代码,才是优秀的程序员. 大家闭着眼睛想一下什么是好代码?也许你的脑海中漂浮着一堆词:干净.整洁.命名规范. ...

  9. .NET代码质量 | 一天一点代码坏味道(2)

    [代码精进]| 总结/Edison Zhou 作为一个后端工程师,想必在职业生涯中都写过一些不好维护的代码.本文是我学习<代码之丑>的学习笔记,今天第二天,品品重复代码和长函数方法的味道. ...

最新文章

  1. Springmvc配置定时任务注解开发
  2. 计算机在能源领域的应用,计算机在能源中的应用
  3. 用servlet设计OA管理系统时遇到问题
  4. 图形大小_PS图形复制——等距复制、旋转复制、大小变换复制
  5. 一览R基础包的六个高级绘图函数(盒型boxplot|条形barplot|直方hist|饼pie|dotchart|coplot)...
  6. DE16 Continuation: More General Periods
  7. UcOS-II 和linux比较
  8. 字典序的理解以及python实现
  9. Java中为什么使用事务?什么时候使用事务?如何使用事务?
  10. Atitit.跨语言标准化 web cgi api v2 saa CGI   (通用网关接口)  编辑 CGI 是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。CG
  11. java编译运行_如何编译运行一个简单的java程序
  12. matlab如何更改程序中所有同名_MATLAB作图实例:52:添加网格线并编辑位置
  13. 共享内存,信号,信号灯集
  14. HDU 2042 不容易系列之二
  15. Java之String系列--intern方法的作用及原理
  16. 前言 金融大叔的梦想
  17. Linux —— wget -qO- 命令详解
  18. 三角定位法java代码_GitHub - megagao/IndoorPos: 这是一个采用蓝牙4.0--iBeacon技术的室内定位服务端程序。...
  19. 18个最佳代码编辑器/IDE推荐
  20. freemarker生成word,表格分页

热门文章

  1. LeetCode - 649. Dota2 参议院
  2. D类音频功放NTP8849可完美替代TI的TAS5805
  3. Netfilter的Mangle机制
  4. 第五章. 可视化数据分析图表—Seaborn图表(折线图,直方图,条形图,散点图)
  5. iso快门光圈_相机最重要的设置:快门速度,光圈和ISO解释
  6. 日文假名输入与键盘对应
  7. 阿里云服务器的云盘如何释放?
  8. python《红楼梦》人物统计
  9. 数据结构--队列--js击鼓传花算法实现
  10. upx与px互相转换