Pull Up Field

動機

消除 duplicated member。

要了解 member 被使用的方式,如果被使用的方式類似,就可以移到 super class。除了移除 duplicated member 之外,也可以把 subclass 使用 member 的行為移到 supoer class(如果使用方式相似)。

作法

  1. 檢查候選 member 的所有使用方,確定它們用同樣的方式使用 member
  2. 如果 member 名稱彼此不同,使用 Rename Field 讓它們的名稱一致
  3. 在 super class 建立一個新 member
    這個新 member 要可以被 subclass 使用(一般語言通常是 protected)
  4. 刪除 subclass 的 member
  5. 測試

PhpStorm 操作