標籤:style blog http io ar os 使用 sp java
重構是什嗎?在代碼寫好之後改進它的設計。
重構分類:物理結構、類階層、類內部結構。
| 名稱 |
快速鍵 |
直譯 |
作用範圍 |
描述 |
| Rename |
Alt + Shift + R |
|
|
可以對任意變數、類、方法、包名、檔案夾進行重新命名,並且所有使用到的地方會統一進行修改。 |
| Move |
Alt + Shift + V |
|
欄位 |
把欄位移到其他類、把類移到其他包 |
| 名稱 |
快速鍵 |
直譯 |
作用範圍 |
描述 |
| Change Method Signature |
Alt + Shift + C |
修改方法簽名 |
方法 |
對方法進行操作,可以修改方法名、存取權限、增加刪除方法參數、修改參數順序、添加方法異常 |
| Extract Method |
Alt + Shift + M |
提取為方法 |
方法 |
任意選中一塊代碼,自動轉換為方法,自動添加參數傳回型別。 |
| Extract Local Variable |
Alt + Shift + L |
提取局部變數 |
字元/數字 |
通常用於運算式,把其中一個抽取為本地的變數,例如3 + 5 抽取為 int i = 3; |
| Extract Constant |
Ctrl+1 Extract to Constant |
提取常量 |
字元/數字 |
把任意位置的字串或者數字抽取為一個靜態全域常量。所有使用此字元或者數位也會相應的被替換為使用常量。 |
| Inline |
Alt + Shift + I |
內聯 |
方法 |
把調用此方法的地方直接替換成此方法的內容。選中任意方法才可使用此功能。(有All invocations 與 Only the selected invocation兩個選項) |
| 名稱 |
快速鍵 |
直譯 |
作用範圍 |
描述 |
| Convert Local Variable to Field |
Alt + Shift + K |
局部變數轉變為全域變數 |
局部變數 |
把局部變數轉變為全部變數,可以重新修改變數名。 |
| Convert Anonymous Class to Nested |
|
匿名類轉換為嵌套內部類 |
匿名類 |
可以設定類型,內部包含欄位類型等。 |
| Move Type to New File |
|
移動類到新的檔案 |
嵌套類 |
以嵌套類建立一個新的類檔案 |
| 名稱 |
快速鍵 |
直譯 |
作用範圍 |
描述 |
| Extract Supperclass |
|
提取父類 |
|
提取選中欄位或方法放置到其父類中(注意提取方法時,先提取其中使用的欄位) |
| Extract Interface |
|
提取介面 |
類 |
從一個類的方法產生一個介面(僅當前類的方法會變為介面,其他使用此方法的地方不會) |
| Use Supertype Where Possible |
|
儘可能使用父類型 |
類 |
把選中引用向上轉型,變成其父類的引用 |
| Push Down |
|
下推 |
變數、方法 |
把選中方法從父類移到子類中,父類中回應程式法變為抽象方法 |
| Pull Up |
|
上移 |
變數、方法 |
與Push Down相反,把子類的方法上移到父類中 |
| 名稱 |
快速鍵 |
直譯 |
作用範圍 |
描述 |
| Extract Class |
|
提取為類 |
欄位 |
把所有選中欄位提到新類中,可以選擇建立檔案也可以使內部類 |
| Introduce Parameter Object |
|
引入參數對象 |
方法 |
把方法參數抽取為一個類(避免參數在方法內引用被修改異常) |
| 名稱 |
快速鍵 |
直譯 |
作用範圍 |
描述 |
| Introduce Indirection |
|
|
|
讓其他類可調用當前類某方法 |
| Introduce Factory |
|
引用工廠 |
建構函式 |
用方法返回一個對象 |
| Introduce Parameter |
|
引入參數 |
|
將欄位抽取為方法中的參數 |
| Encapsulate Filed |
|
封裝欄位 |
|
為欄位提供setter/getter方法 |
Introduce FactorySelected entity is not a constructor invocation or definition.
| 名稱 |
快速鍵 |
直譯 |
作用範圍 |
描述 |
| Generalize Declared Type |
|
|
|
把非原始對象欄位(或方法參數)替換為其父類型。 |
| Infer Generic Type Arguments |
|
|
|
為原始形式的那些類型推測恰當的泛型型別 |
Generalize Declared Type 可能出現的異常Generalize Declared Type is not supported on primitive types. 不支援原始類型
| 名稱 |
快速鍵 |
直譯 |
作用範圍 |
描述 |
| Migrate JAR File |
|
|
|
|
| Create Script |
|
|
|
|
| Apply Script |
|
|
|
|
| History |
|
|
|
|
參考資料《Eclipse 3進階編程》
探索 Eclipse JDT 中的重構功能
在 Eclipse 中建立新的重構功能
Eclipse 重構功能的使用與重構快速鍵