More Related Content
Similar to 重构——关于可读性、原则和模式 (20)
重构——关于可读性、原则和模式
- 6. 摘录《代码整洁之道》
• 在 20 世纪 80 年代,常说函数不该长于一屏(那时候显示屏分辨率低,只有
24 行)
• 函数应该有多短小 ? 通常来说,应该短于代码清单 3-2 中的函数 , 代码清单
3-2 实在应该缩短成代码清单 3-3 这个样子
备注:我数了数清单 3-2 ,代码行数是 14 行, 而 3-3 是 6 行, 而且是包含最
后的大括号的
- 27. 开发过程
坏味道 坏味道 坏味道
添加功能 重构 添加功能 重构
原则-模式 原则-模式 原则-模式
保持简单 不要重复 (DRY)
添加功能即“实现”
重构即设计
- 37. 更适合 JS 的原则
“ 优先使用组合或 minin, 少用 override”
应该记住的:
一个类能否被继承是一个设计问题,而不是捡到便宜
除此外:
继承是否合理是否必要,可以看原则: LSP (里氏替换原则)
- 53. 设计模式是一套词汇
我们对 Offer 进行一个排序,只要实现这个 Compare 接口就行了, 我们原来有
这样的实现的,只是接口形式不一样,所以我们做个 Adapter 就好了
我们在取数上引入了 cache ,但我想让调用方透明,我们引入一个 Proxy...
我们还是要使用原来的那些方法的,但是太多了,我们做一个小小的 Facade,
这样我们就不用管原来那堆东西了
矣~~,这个类构造太麻烦了,弄个 Factory 方便构造,同时把依赖注入,
还有还有, 这两个类的依赖不行,使用一个接口或者 Observer 反转一下依赖
嗯,这一系列操作,我们把它弄成一个一个 Command 序列化掉 ... 存起来,下
次恢复再执行
这个验证框架扩展起来不是很方便,验证逻辑其实就是一个一个 Strategy 嘛,
改改~~
- 57. 策略( Strategy 或 Policy)
原则?
开放封闭原则 OCP
依赖倒置原则 DIP
单一职责原则 SRP (一个类只有一个引起它变化的原因)
优先使用组合,而不是继承
prefer composition over inheritance
- 58. 回顾
可读性
形: 方法小,向下规则
意: 词汇, 分层描述
原则
依赖倒置(稳定依赖)原则 DIP
开放封闭原则 OCP
重构
方法太长,类太长 ...
受一次伤原理
模式
设计模式是一套用于交流的词汇
策略模式 (Strategy)