读书人

复建学习-Inline Method

发布时间: 2013-08-10 21:14:06 作者: rapoo

重构学习------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;

? ? }

?

读书人网 >编程

热点推荐