dsh-refactor-insight:將代碼異味轉化爲可執行的重構計劃

在 DSH 生態中,代碼審查通常集中在 PR diffs 上,架構文檔關注整體結構。dsh-refactor-insight 插件填補了這一空白:它掃描整個代碼庫以識別異味,並輸出按優先級排序的可執行重構計劃。

這是一個 DSH 技能插件,由 duyanta123 維護。它解決的問題是缺乏一個結構化、優先級排序的重構計劃,以識別過大的文件、深度的嵌套結構、耦合的模塊等技術債務。

核心功能

插件內置六條確定性規則(零依賴啓發式),用於檢測代碼異味:

  • 過大文件:默認閾值超過 400 行。
  • 長函數:根據語言支持不同,檢測 Python 縮進塊 / JS-TS 花括號 / Go 函數聲明;函數體超過 80 行。
  • 深度嵌套:默認最大縮進或花括號深度超過 5。
  • 神級對象:類方法超過 10 個,或類體超過 300 行(Go 檢測接收器方法數量)。
  • 高耦合模塊:使用 arch-profile --deps 輸出,通過入/出度分析樞紐模塊,並結合 Tarjan 算法檢測依賴環。
  • TODO/FIXME 密度:每 1000 行代碼的噪音指標。

安裝與啓用

作爲 DSH 插件安裝:

dsh plugin --profile web add "github:duyanta123/dsh-refactor-insight#v0.1.3"

安裝完成後,請重啓對應的 profile。

典型用法

1. 作爲 DSH 技能使用

安裝並重啓 profile 後,向 agent 下達指令:

Use refactor-insight to health-check /path/to/repo

Agent 將運行一個四階段的運行手冊(接收 → 掃描 → 診斷 → 優先級編排),並生成 REFACTOR-PLAN.md。

2. 僅運行診斷 CLI

診斷腳本是零依賴的,無需 DSH 環境即可運行:

# 運行所有六條規則
node scripts/refactor-smell.mjs <repo_path>

# 結合 arch-profile 的依賴輸出進行耦合/環檢測
node scripts/arch-profile.mjs <repo_path> --deps > deps.json
node scripts/refactor-smell.mjs <repo_path> --deps-json deps.json

注意事項

  • 僅生成計劃:插件輸出的是計劃而非 diff,不會自動生成代碼更改。高風險的重構項需要人工確認。
  • 只讀掃描:診斷腳本無依賴、無子進程、無網絡請求,不會修改目標倉庫源碼。
  • 事實與推斷:腳本輸出的是硬事實(如文件行數);嚴重性、成本、建議由 LLM 在去噪後添加,屬於推斷信息。
  • 噪音指標:TODO/FIXME 密度規則僅作爲噪音指標(按每 1000 行計數),不強制要求行動。

生態背景

DSH 理念是「一切皆插件」。該插件隸屬於工作流類別,許可證爲 MIT。更多細節可查閱 SkillHub 目錄 或 GitHub 倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜