3.1 Duplicated Code(重复代码) 3.2 Long Method(过长函数) 让小函数容易理解的真正关键在于一个好名字。 每当感觉需要以注释来说明点什么的时候,我们就把需要说明的东西写进一个独立函数中,并以其用途(而非实现手法)命名。 条件表达式和循环常常也是提炼的信号。 3.3 ...
分类:
其他好文 时间:
2020-07-19 23:48:56
阅读次数:
84
1. 需要 Map 的主键和取值时,应该迭代 entrySet() 当循环中只需要 Map 的主键时,迭代 keySet() 是正确的。但是,当需要主键和取值时,迭代 entrySet() 才是更高效的做法,比先迭代 keySet() 后再去 get 取值性能更佳。 反例: Map<String, ...
分类:
编程语言 时间:
2020-07-12 20:25:28
阅读次数:
52
前言:最近做一个特性,参照原有逻辑增加某个功能,老代码本身存在两套相似的流程,再添加上一套流程后,发现代码的重复度及其的高,基本可以理解为一套框架流程复制出来3个类,给3个功能使用。我对比了每个类的代码后,发现代码重复度基本在50%以上,这种代码真是越写越烂的感觉。于是费力的做了一下重构,搞了个父类 ...
分类:
其他好文 时间:
2019-10-19 09:29:14
阅读次数:
90
Golang精编100题 能力模型 级别 模型 初级 primary 熟悉基本语法,能够看懂代码的意图;在他人指导下能够完成用户故事的开发,编写的代码符合CleanCode规范; 中级 intermediate 能够独立完成用户故事的开发和测试;能够嗅出代码的坏味道,并知道如何重构达成目标; 高级 ...
分类:
其他好文 时间:
2019-01-23 17:30:21
阅读次数:
200
软件重构!!! 什么是好的代码? 什么是坏的代码? 要能嗅出代码的坏味道,找到坏味道。 类的坏味道,函数的坏味道。 重构,精品,看多少遍都值得看。 哪些是类的坏味道? 重复代码 同一个类的两个函数,含有相同的表达式。 优化方式:提炼函数 两个互为兄弟的子类含有相同的表达式。 优化方式:函数上移 两个 ...
分类:
其他好文 时间:
2018-07-28 15:21:37
阅读次数:
120
能力模型 级别模型 初级 primary 熟悉基本语法,能够看懂代码的意图; 在他人指导下能够完成用户故事的开发,编写的代码符合CleanCode规范; 中级 intermediate 能够独立完成用户故事的开发和测试; 能够嗅出代码的坏味道,并知道如何重构达成目标; 高级 senior 能够开发出 ...
分类:
其他好文 时间:
2018-04-28 10:52:54
阅读次数:
196
返回总目录 十四、Temporary Field(令人迷惑的暂时字段) 1、某个实例变量仅为某种特定的情况而设 2、某些实例字段仅为某个函数的复杂算法少传参数而设 将这些变量和相关函数提炼到一个独立的类中。 十五、Message Chains(过度耦合的消息链) 如果你看到用户向一个对象请求另一个对 ...
分类:
其他好文 时间:
2017-11-16 11:54:57
阅读次数:
239
【重构:改善既有代码的设计】读书笔记总目录 1、重构原则 2、代码的坏味道【1】 3、代码的坏味道【2】 4、代码的坏味道【3】 5、代码的坏味道【4】 6、重构手法之Extrct Method(提炼函数)、Inline Method(内联函数)、Inline Temp(内联临时变量) 7、重构手法 ...
分类:
其他好文 时间:
2017-11-11 19:47:57
阅读次数:
172