动机:坚持短小名字的目的是让代码更加清晰、易读。但有时候方法名和方法体一样清晰,这时应当去除这个不必要的抽象。重构一个方法时,也可以内联化这个方法调用的所有函数,然后再进行重构。
关键:一些基类的方法,需要被子类进行重写,这时就不能内联化了,否则子类就不能重写这个方法了。
示例:
def get_rating
more_than_five_late_deliveries ? 2 : 1
end
def more_than_five_late_deliveries
@num_of_late_deliveries > 5
end
---->
def get_rating
@num_of_late_deliveries > 5 ? 2 : 1
end