重构学习------Inline Method
? ? 1、概述
? ? 一个函数,其本体应该与其名称同样清楚易懂
? ? 2、动机
? ? 以简短的函数表现动作意图,这样会使代码更加清晰易读。但有时候你会遇到某些函数。其内部代码和函数名称同样清晰易读。也可能我们重构了该函数,使得其内容和其名称变得同样清晰,果真如此,你就应该去掉这个函数,直接使用其中代码,间接可能带来帮助,但非必要的间接性总是让人不舒服。
? ? 3、做法
? ? ?(1)检查函数,确定它不具多态性。
? ? ? ?如果subclass继承了这个函数,就不要将此函数inline化。因为subclass无法覆写(override)一个根本不存在的函数。
? ? ? (2)找出这个函数的所有被调用点。
? ? ? (3)将这个函数的所有被调用点都替换为函数本体(代码)。
? ? ? (4)编译和测试函数。
? ? ? (5)删除该函数的定义。
? ? 4、例子
? ? String getUserInfo(int age){
? ? ?return MoreThenTen(age)?"ok":null;
? ?}
? ? ?boolean(int age){
? ? ? return age>10;
? ?}
?
? ? 改为:
? ? ? String getUserInfo(int age){
? ? ? return ?age>10?"ok":null;
? ? }
?