最好,最持久的程序,里面的函数都比较短。
更好的表达力,更好的分享,更好的选择 —— 都是通过小函数来实现的
因此,有这样一个原则:当想给某个函数写注释的时候,都将要说明的东西
写进一个独立的函数中。
Replace Temp with Query
以查询替代临时变量
在类
中使用效果最好,类更适合承载数据与行为的组合
❗️ 只适用于只读变量
,如果某个变量被多次赋值
,则将这些计算代码一并提炼到函数中,如下方的discountFactor
确保提炼的函数无副作用,否则使用Separate Query with Modifier
Separate Query with Modifier
Introduce Parameter Object
引入参数对象(该对象也可是类,或者说使用类更好,因为数据
与行为
能更好的结合)
降低参数的数量,并使数据之间的关系变得更加清晰
用法:将共有行为的数据
放入一个类中
如下,找出温度在(50~55)之外的元素
Perserve Whole Object
保持对象完整
传递整个对象能够更好地应对变化
,通过还能缩短参数列表
Replace Function with Command
以命令取代函数
这里的命令指一个对象(类也行),该对象封装了一个请求
在类中,将参数的传递放入构造器中
而非某个方法中
,可以非常直观的得出该类需要那些参数