動機:堅持短小名字的目的是讓代碼更加清晰、易讀。但有時候方法名和方法體一樣清晰,這時應當去除這個不必要的抽象。重構一個方法時,也可以內聯化這個方法調用的所有函數,然後再進行重構。
關鍵:一些基類的方法,需要被子類進行重寫,這時就不能內聯化了,否則子類就不能重寫這個方法了。
示例:
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