“简化函数调用”主要是开放容易被理解和被使用的接口。常用手法如下:
1)Rename Method。好的函数名称是注释代码的最好方式。
2)Add Parameter。添加参数。
3)Remove Parameter。移除参数。
4)Separate Query from Modifier。若程序中某个函数既放回对象状态值,又修改对象状态,此时可以将函数分解,其中一个查询,一个修改。这其实单一职责原则在函数定义中的体现,一个函数不应该承担过多的功能。“任何有返回值的函数,都不应该有看得到的副作用”。
5) Parameterize Method。若程序中某几个函数功能类似,但函数本体中却包含了不同的值,此时可以建立单一的函数,以参数表达不同的值。
6)Replace Parameter with Explicit Methods。程序中一个函数根据参数不同而功能不同,此时可以根据各个功能单独定义函数。此手法和(5)相反。此方法主要是根据函数名获得清晰的接口。
7)Preserve Whole Object。若从某个对象中取出若干值,然后将这些值作为参数传递给另一个函数,此时可以改用传递整个对象。
8) Introduce Parameter Object。若程序中有一组参数总是一起传递,好几个函数都是用这一组参数,则可以用一个对象包装这些参数,然后以该对象取代他们。此手法和Preserve Whole Object类似,差别是后者事先定义了对象。
9) Replace Parameter With Methods。对象调用某个函数,然后将结果传递给另一个函数,而另一个函数也可以调用前一个函数,此时可以让后一个函数直接调用前一个函数,并且去掉该参数。
10) Replace Exception with Test。异常只应该用于那些产生意料之外的行为,而不应该成为条件检查的代替品,在函数中应该对一些参数做检查。
11) Replace Error Code with Exception。
浙公网安备 33010602011771号