圣诞大减价开始了!

内联方法

问题

当方法主体比方法本身更明显时,使用这种技术。

解决方案

用方法的内容替换对方法的调用,并删除方法本身。

之前
类pizzdelivery{//…int getRating(){返回moreThanFiveLateDeliveries() ?2: 1;} boolean moreThanFiveLateDeliveries(){返回numberOfLateDeliveries > 5;}}
类pizzdelivery{//…int getRating(){返回numberOfLateDeliveries > 5 ?2: 1;}}
之前
类pizzdelivery{//…int GetRating(){返回MoreThanFiveLateDeliveries() ?2: 1;} bool MoreThanFiveLateDeliveries(){返回numberOfLateDeliveries > 5;}}
类pizzdelivery{//…int GetRating(){返回numberOfLateDeliveries > 5 ?2: 1;}}
之前
function getRating() {return ($this->moreThanFiveLateDeliveries()) ?2: 1;}函数moreThanFiveLateDeliveries(){返回$this->numberOfLateDeliveries > 5;}
函数getRating(){返回($this->numberOfLateDeliveries > 5) ?2: 1;}
之前
class pizzdelivery: #…def getRating(self):返回2 if self.moreThanFiveLateDeliveries() else 1 def moreThanFiveLateDeliveries(self):返回自身。numberoflatdelivery >
class pizzdelivery: #…def getRating(self):如果self返回2。numberoflatdelivery > 5 else 1
之前
类pizzdelivery{//…getRating(): number {return moreThanFiveLateDeliveries() ?2: 1;} moreThanFiveLateDeliveries():布尔{返回numberOfLateDeliveries > 5;}}
类pizzdelivery{//…getRating(): number{返回numberOfLateDeliveries > 5 ?2: 1;}}

为什么重构

一个方法简单地委托给另一个方法。这个代表团本身是没有问题的。但是当有很多这样的方法时,它们就变成了一个令人困惑的混乱,很难理清。

方法通常不会太短最初,但当对程序进行更改时就会变成这样。因此,不要羞于摆脱那些已经过时的方法。

好处

  • 通过减少不需要的方法的数量,可以使代码更加简单。

如何重构

  1. 确保该方法没有在子类中重新定义。如果方法是重新定义的,请避免使用这种技术。

  2. 找到对该方法的所有调用。用方法的内容替换这些调用。

  3. 删除该方法。

Baidu
map