暫時變數很方便:能存程式碼所生值,讓其被引用;名稱也能解釋其意義,防止重複程式碼出現。
如果能改成函式會更好:函式減少引入一個參數,邏輯與原始函式間也設下明確邊界,並避免此計算邏輯在類似函式中重複出現。

Replace Temp with Query
此做法最能有效處理類別,因為成員都位於共用環境。
但它僅適合處理「被計算一次,之後皆為讀取」的暫時變數,不適合處理快照(snapshot)變數。
# Before
original_price = 200
discount_rate = 0.15
discount_amount = original_price * discount_rate
discounted_price = original_price - discount_amount
print(f"Discounted price: {discounted_price}")
# After
class PriceCalculator:
def __init__(self, original_price, discount_rate):
self.original_price = original_price
self.discount_rate = discount_rate
def discount_amount(self):
return self.original_price * self.discount_rate
def discounted_price(self):
return self.original_price - self.discount_amount()
calculator = PriceCalculator(200, 0.15)
print(f"Discounted price: {calculator.discounted_price()}")