Inline Method(内敛函数)
程序员文章站
2022-03-15 19:33:31
...
动机
有时候你会遇到某些函数,其内部代码和函数名称同样清晰可读。也可能你重构了该函数,使其内容和其名称变得同样清晰。果真如此,你就应该去掉这个函数,直接使用其中的代码。间接性可能带来帮助,但非必要的间接性总让人不舒服。
做法
- 检查函数,确定它不具有多态性(如果子类继承了这个函数,就不要将此函数内敛,因为子类无法覆写一个根本不存在的函数)。
- 找出找个函数的所有被调用点。
- 将找个函数的所有被调用点都替换为函数本体。
- 编译,测试。
- 删除该函数的定义。
范例
int getRating() {
return (moreThanFiveLateDeliveries()) ? 2 : 1;
}
boolean moreThanFiveLateDeliveries() {
return _numberOfLateDeliveries > 5;
}
重构后
int getRating() {
return (_numberOfLateDeliveries > 5) ? 2 : 1;
}