來歷
原為 SharpDevelop 內建重構引擎 NR6Pack,移植至 VS 並更名為 Refactoring Essentials,基於 Roslyn 編譯器平台 提供即時程式碼分析與重構動作。
71 項重構動作精選
- 語法現代化:`var` 隱含型別、字串插值 `$""`、null 條件運算子 `?.`、nameof 運算子、模式比對 `is Type var`、switch 運算式。
- 結構優化:提煉方法/屬性/介面、封裝欄位、移除冗餘 `this.`/基類呼叫、將 `foreach` 轉為 LINQ、將 `if-else` 轉為三元/空值合併 `??`。
- 安全性:建議 `as` + null 檢查取代直接轉型、建議 `Enum.HasFlag` 取代位元運算。
- 非同步:同步轉非同步 (`async`/`await`)、`Task.Run` 包裝、移除不必要的 `async`。
73 項程式碼分析規則精選
- 偵測未使用的變數/參數/私有成員。
- 偵測可能的 `NullReferenceException` 路徑。
- 偵測 `IDisposable` 未正確釋放 (`using` 缺失)。
- 偵測 `async void` 方法(除事件處理器外應避免)。
- 偵測字串格式化參數數量不符。
- 建議 `StringComparison.Ordinal` 明確比較。
- 建議 `ConfigureAwait(false)` 於程式庫代碼。
安裝與使用
- VS 2015 → 工具 → 擴充功能與更新 → 線上搜尋 Refactoring Essentials → 下載安裝。
- 重啟 VS,編輯器右鍵選單新增 重構 子選單,或 Ctrl+. (快速動作) 即可看到圖示建議。
- 工具列新增「程式碼問題」視窗,即時顯示分析警告/建議。
與付費工具比較
| 功能 | Refactoring Essentials | ReSharper | CodeRush |
| 重構數量 | 71 | 200+ | 150+ |
| 程式碼分析 | 73 規則 | 2000+ | 500+ |
| 單元測試執行器 | 無 | 內建 | 內建 |
| 架構視覺化 | 無 | 有 | 有 |
| 價格 | 免費開源 | 訂閱制 | 訂閱制 |
對於個人開發者、中小團隊、開源專案貢獻者,Refactoring Essentials 提供 **80% 高頻重構需求** 且零成本,極高 CP 值。