在函数调用点插入函数本体,然后移除该函数
有时候会遇到某些函数,其内部代码和函数名称同样清晰易读,也可能是因为 重构了这个函数使得内容和名称变得同样清晰,果真如此就应该去掉该函数,直接使用其中的代码,间接性可能带来帮助,但是非必要的间接性总是让人不舒服。
另一种需要使用Inline Method的情况是:你手上有一群组织不甚合理的函数,你可以将它们都内联到一个大型函数中,再从中提炼组织合理的小型函数,实施Replace Method with Method Object之前先这么做,往往可以获得不错的效果。你可以把所要的函数的所有调用对象的函数内容都内联到函数对象中,比起既要移动一个函数,又要移动它所调用的其他所有函数,将整个大型函数作为整体来移动会比较简单。
1、检查函数,确定它不具有多态性。如果子类继承了这个函数,就不要将此函数内联,因为子类无法覆写一个根本不存在的函数
2、找出这个函数所有被调用点
3、将这个函数的所有被调用点替换为函数本体
4、编译、测试
5、删除该函数的定义