前言
上一篇我们讲到了重构里面的重要重构手法, 提炼函数, 接下来我们继续讲解函数相关的重构方法 - 内联函数
内联函数(Inline Method)
这个重构手法和提炼函数相反, 是把某些函数融合在一起. 有两种情况需要这样做:
如果某个函数内容本身和函数函数名称一样语义化, 就可以把这个函数融掉, 例如:
int getRating(){ return (moreThanFiveLateDeliveries())?2:1; } boolean moreThanFiveLateDeliveries(){ return _numberOfLateDeliveries > 5; } //以上两个函数可以被融合成下面一个函数, 可以发现语义化没变, 而且更简洁了 int getRating(){ return (_numberOfLateDeliveries > 5)?2:1; }
当我们要重构一群不合理的小函数时, 可以先把他们融合成一个大函数做为过度. 方便我们接下来对大函数的重构. 特别是在实施Replace Method with Method Object前使用 Inline Method非常好.(www.hedaoshe.com)
总结
今天我们讲解了内联函数这个重构手法, 该手法虽然不是非常重要, 但是也有它的作用, 在合适的时机使用也能对重构起到帮助.