移除重複程式碼很重要,功能再完善也只是孳生 Bug 的溫床。
提升方法因此重要,但需要穩健測試來驗證。通常我們需先參數化函式或提升欄位,才會再採用此重構。

Pull Up Method

# Before
class Vehicle:
    pass

class Car(Vehicle):
    def start_engine(self):
        print("Car engine started.")

class Truck(Vehicle):
    def start_engine(self):
        print("Truck engine started.")

# After
class Vehicle:
    def start_engine(self):
        print("Engine started.")

class Car(Vehicle):
    pass

class Truck(Vehicle):
    pass