技能 refactoring
🔧

refactoring

安全 🌐 网络访问📁 文件系统访问⚙️ 外部命令

系統化安全重構程式碼

程式碼庫透過不明確的名稱、重複的邏輯和深層嵌套累積技術債務。本技能提供了一種嚴謹的方法,透過測試驅動的安全網和增量變更來改善程式碼結構,同時保留行為。

支持: Claude Codex Code(CC)
📊 70 充足
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“refactoring”。 Refactor this long function with duplicated validation logic

预期结果:

  • ✓ 階段 1:評估 - 這是重構(提取和去重複,而非新增行為)
  • ✓ 階段 2:保護 - 為驗證行為建立特徵測試
  • ✓ 階段 3:重構 - 從提取驗證函式開始,然後移除重複
  • → 第一個變更:提取 validate() 函式,執行測試...
  • ✓ 測試通過。提交:'refactor: extract validation function'
  • → 下一步:內聯重複的驗證調用...
  • ✓ 重構完成。3 次提交,所有測試綠燈。

正在使用“refactoring”。 Rename all variables with unclear names in this file

预期结果:

  • ✓ 識別不明確的名稱:d、temp、data、obj、info、calc
  • ✓ 從 d → discountAmount 開始(第 1 級安全重構)
  • ✓ 測試通過。提交:'refactor: rename d to discountAmount'
  • → 繼續 temp → orderSubtotal...
  • ✓ 所有重新命名完成。6 次提交,所有測試綠燈。

安全审计

安全
v5 • 1/16/2026

Pure documentation skill containing only guidance and code examples. No executable code, network calls, or filesystem operations. All 37 static findings are false positives: metadata URLs flagged as network reconnaissance, documentation trigger words flagged as weak crypto, and code examples flagged as command execution. The previous audit correctly identified zero risk factors.

2
已扫描文件
409
分析行数
3
发现项
5
审计总数
审计者: claude 查看审计历史 →

质量评分

38
架构
100
可维护性
87
内容
21
社区
100
安全
91
规范符合性

你能构建什么

清理舊式程式碼

將不明確的變數名稱和重複邏輯轉換為可維護的程式碼,並配備安全網

引導重構審查

確保重構變更遵循嚴謹的流程並具有適當的測試覆蓋率

系統化改進

在改善程式碼結構時應用一致的重構方法論

试试这些提示

簡單提取
透過提取輔助函式來重構此函式,以處理重複的邏輯。遵循系統化方法:先新增特徵測試,然後一次提取一部分,每次變更後執行測試,測試通過後提交。
重新命名變數
重新命名此檔案中所有不明確的變數和函式。每次重新命名:識別重新命名、套用變更、執行測試、使用 'refactor: rename X to Y' 訊息提交。
減少嵌套
將深層嵌套的條件式轉換為守護子句。一次套用一項重構:轉換最內層分支,執行測試,提交,然後繼續下一層。
提取類別
透過將內聚方法提取到新類別來重構此 god 類別。逐步進行:一次移動一個方法,每次移動後執行測試,每次成功移動後提交。

最佳实践

  • 每次執行個別重構步驟後立即執行測試再提交
  • 當測試覆蓋率不足或缺失時,先撰寫特徵測試
  • 兩次重構嘗試失敗後停止並詢問使用者

避免

  • 在執行測試前將多個重構批次化為一次變更
  • 嘗試修復失敗的重構而非回滾並嘗試更小的步驟
  • 在沒有任何測試覆蓋率或安全網的情況下進行重構

常见问题

此技能支援哪些工具?
相容於 Claude、Codex 和 Claude Code。適用於任何測試框架,如 Jest、pytest 或 Go test。
重構的限制是什麼?
此技能僅改善結構,不會新增功能、修復錯誤或處理需要行為變更的 API 遷移。
它如何與版本控制整合?
每次綠燈測試後,使用傳統前綴 'refactor: 描述' 提交。使用 git checkout 來回滾失敗的嘗試。
重構期間我的程式碼安全嗎?
是的。該規範要求在變更前進行測試,一次只做一項變更,並在測試失敗時立即回滾。
如果重構期間測試失敗怎麼辦?
立即使用 'git checkout -- file' 回滾。分析該步驟是否太大。嘗試更小的步驟或詢問使用者尋求指導。
這與 linter 有什麼不同?
Linter 會自動修復樣式和格式。此技能處理需要判斷和增量步驟的結構性改進。

开发者详情

文件结构

📄 SKILL.md