<重構>讀書筆記之<使用查詢替換臨時變量>

動機:臨時變量時臨時的和局部的,把它們替換成方法後,就可以重用了。

關鍵:最常用的的一種情況是:臨時變量只有一次賦值,例如用臨時變量收集“循環計算總和”。一般將新建的方法暫時設爲私有的,並且要確保方法沒有修改任何對象。

示例:

def price
  if base_price > 1000
    discount_factor = 0.05
  else
    discount_factor = 0.98
  end
  base_price * discount_factor
end

private
def base_price
  @quantity * @item_price
end

--->
   
def price
  base_price * discount_factor
end

private
def base_price
  @quantity * @item_price
end

def discount_factor
  base_price > 1000 ? 0.95 : 0.98
end

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章