首页 > 代码库 > 代码重构之重新组织函数
代码重构之重新组织函数
重新组织函数
一、提炼函数(Extract Method)
你有一段代码可以被组织在一起并独立出来,将这段代码放入一个独立的函数中,并让函数名称解释该函数的用途(以他做什么来命名)。
public void printOwing(){ int em=88; int outstanding=9999; //计算outstanding do { em--; outstanding+=em; } while (em==0); //pirnt outstanding System.out.println("Oh the outstanding is "); System.out.println(" "+outstanding); }
//提取后 public void printOwing(){ int em=88; int outstanding=9999; //计算outstanding do { em--; outstanding+=em; } while (em==0); //pirnt outstanding System.out.println("Oh the outstanding is "); System.out.println(" "+outstanding); }
一)为什么这样做?
1.提取过长代码使之便于理解。
2.细粒度代码,被复用的机会更大。
3.代码粒度更细,覆写更容易。
二)怎样做?
关键是新函数的命名,要一他“做什么来命名”。
二、内联函数(Inline Method)
如果一个函数的本体和其名称同样清楚易懂,就可以在函数调用点插入本体,删除该函数。
public int getRating(){ return moreThan5Delivers()?1:0; } boolean moreThan5Delivers(){ return numOfDelivers>5; }
//内联后 public int getRating(){ return numOfDelivers>5?1:0; }
一)为什么这样做?
间接性可以带来帮助,但非必要的间接性总让人不舒服。我们要移除不必要的间接层。
二)怎样做?
注意:确定函数不具有多态性。
代码重构之重新组织函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。