我们一起来读书吧 关注:149贴子:2,388
  • 0回复贴,共1

《重构 改善既有代码设计》 第十一章 重构API

只看楼主收藏回复

函数的参数列表应该概括其潜在的变化性,突显出函数可能展现出不同行为的关键方式。
1. 将查询函数与修改函数分离:区分读取接口和写入接口,独立书写查询接口和提交接口。
2. 函数参数化:利用参数将逻辑相似的多个方法整合。
3. 移除标记函数:当某一参数值的不同会导致后续逻辑很大不同时,应将这一参数移除,并根据逻辑编写对应的函数。
4. 保持对象完整性:使用整个对象作为参数,而不是将对象的各个属性作为参数列表。如果多处代码使用了对象的部分功能,可能需要通过类抽取将这部分功能独立出来。
5. 以查询取代参数:如果函数调用时传入的值对于函数本身来说可以轻易获取,那么这就是冗余,是不必要的,徒增调用者保证参数值正确的责任。
6. 以参数取代查询:将处理引用关系的责任转给函数的调用者,通过将元素的值以参数形式传给函数,以便于目标函数不再依赖于该元素。
7. 移除设值函数:
8. 以工厂函数取代构造函数:
9. 以命令取代函数:
10.以函数取代命令:


IP属地:北京1楼2024-08-09 17:05回复