重构之重新组织函数( Inline Method)

                                                                                                                 Inline Method(内联函数)

 


 

一、Inline  Method

概述

一个函数,其本体(method body)应该与其名称(method name)同样清楚易懂.

动机(Motivation)

以简短的函数表现动作意图,这样会使代码更清晰易读.但有时候你会遇到某些函数.其内部代码和函数名称同样清晰易读.也可能你重构了该函数,使得其内容和其名称变得同样清晰.果真如此,你就应该去掉这个函数,直接使用其中代码,间接可能带来帮助,但非必要的间接性总是让人不舒服.

作法(Mechanics)

1、检查函数,确定它不具多态性(is not ploymorphic)

如果subclass继承了这个函数,就不要将此函数inline化。因为subclass无法覆写(override)一个根本不存在的函数。

2、找出这个函数的所有被调用点。

3、将这个函数的所有被调用点都替换为函数本体(代码)。

4、删除该函数的定义。

public class InlineMethod {


//内联之前
public String getUserInfo(int age)
{
return MoreThenTen(age) ? "有财 王" : null;
}

public boolean MoreThenTen(int age)
{
return age > 10;
}

//内联之后
public String getUserInfoAfterInlineMethod(int age){

return (age > 10) ? "有财 王" : null;
}
}

 

 

 

posted on 2019-12-02 11:33  低调的小郭  阅读(305)  评论(0编辑  收藏  举报