重构一 重新组织你的函数(Inline Method)(3)---作法

重构一 重新组织你的函数(Inline Method)(3)---作法
    • 作法(Mechanics)
    • 检查函数,确定它不具多态性(is not polymorphic).==>如果subclass继承了这个函数,就不要将此函数inline化,因为subclass无法覆写(override)一个根本不存在的函数.
    • 找出这个函数的所有被调用点.
    • 将这个函数的所有被调用点都替换为函数本体(代码).
    • 编译,测试.
    • 删除该函数的定义.

被我这样一写,Inline Method(117)似乎很简单.但情况往往并非如此.对于递归调用,多返回点,inline至另一个对象中而该对象并无提供访问函数(accessors)......,每一种情况我都可以写上好几页.我之所以不写这些特殊情况,原因很简单:如果你遇到了这样的复杂情况,那么就不应该使用这个重构手法.

你可能感兴趣的:(重构一 重新组织你的函数(Inline Method)(3)---作法)