fuck-u-code:把 legacy mess 量化成排行榜,讓 code quality review 變得更直觀
重點整理
嚴肅的 code quality,有時需要一個不嚴肅但有效的入口
VincentChan 介紹 fuck-u-code:它不是用企業化語氣說可維護性不足,而是把 legacy mess 轉成分數、排行榜和報告。核對官方 GitHub 後,專案 Done-0/fuck-u-code 為 TypeScript、MIT 授權,README 定位為 Legacy-Mess Detector。
核心能力
支援 Go、JS、TS、Python、Java、C/C++、Rust、C#、Lua、PHP、Ruby、Swift、Shell 共 14 種語言,用 tree-sitter 做 AST parsing。
七項檢查
Complexity、Size、Comments、Error handling、Naming、Duplication、Structure。整體分數 0–100 越高越好;單檔 Shit-Gas Index 越高代表越臭。
輸出與整合
可輸出 colored terminal、Markdown、JSON、HTML;也支援 OpenAI-compatible、Anthropic、DeepSeek、Gemini、Ollama 的 AI review,以及 MCP server。
實務價值
適合用在 legacy repo 盤點、重構優先級排序、PR 前自查、AI coding agent 接手前的風險掃描。幽默命名降低討論門檻,但報告可以轉成很正式的工程決策資料。
官方 README 說 code analysis 完全 offline,程式碼不會離開機器;但 AI review 會使用外部 API 或 local Ollama。企業使用時要明確區分 offline static analysis 與會送出程式碼片段的 AI review。
✓ 先跑 offline analyze 產生 HTML/Markdown 報告
✓ 用 top worst files 決定重構順序
✓ AI review 只對允許外傳或可用本地模型的程式碼開啟
✓ 把報告接進 CI 前先調整 exclude/test/generated files
✓ 不要只看分數,仍要由熟悉 domain 的工程師判讀