1. 开场先聊两句
每次开 Code Review,最怕队友幽幽地说一句:“这段代码……我改不动。”
潜台词:这坨东西已经长成屎山了。
问题是,屎没味道还能忍,代码烂到发指是真忍不了。
于是,我找到了一个专治“看不下去”的神器——fuck-u-code(名字很暴躁,效果很温柔)。
2. 它到底干嘛的?
一句话:用 7 个维度给项目打分,分数越高越像“屎山”。
• 循环复杂度(Cyclomatic Complexity)
• 函数长度
• 注释覆盖率
• 错误处理
• 命名规范
• 代码重复度
• 代码结构(包/模块耦合)
跑完后会输出一张彩色终端报告,哪里烂、烂到什么程度,写得比老板骂人还清楚。
3. 能测哪些语言?
Go、JavaScript/TypeScript、Python、Java、C/C++ 都支持。
前端 node_modules、后端 vendor、编译产物统统帮你排除,省心。
4. 安装——两步到位
• 有 Go 环境:
go install github.com/Done-0/fuck-u-code/cmd/fuck-u-code@latest• 没 Go 环境:
git clone … && go build …(README 里复制黏贴就行)
5. 上手——一条命令
fuck-u-code analyze ./my-project
默认给你前 5 个最烂的文件,每个文件列 5 个最臭的问题。
想细看?加 -v,想只看总结?加 -s,英文报告?-l en-US,全都有。
6. 实测截图(文字版)
我随手扔了一个遗留 Java 项目:
屎山指数:87 / 100
Top 3 恶臭文件:
1. LegacyService.java (屎味 94)
- 函数 avg() 复杂度 78,建议拆成 7 个
- catch 块里直接 `e.printStackTrace()` 7 次
...
2. ...看到 87 分那一刻,我默默打开 IDE,开始还债。
7. 几个小技巧
• 前端项目:
fuck-u-code analyze --exclude "**/build/**"• 只看前 3 烂文件:
-t 3• CI 集成:把阈值设成 60,超过直接 Pipeline 挂掉,谁 push 谁修。
结尾:
烂代码不会自己变好,但至少有工具能告诉你它到底有多烂。
今晚就把 fuck-u-code 跑一遍,明早把报告甩到群里,让队友们一起笑着哭。
仓库地址放这儿了:https://github.com/Done-0/fuck-u-code
好用回来点个赞,不好用……就当给生活加点味道。
fuck-u-code:一键检测代码质量
542





