【1024Builder作品秀】代码含氧量 · 你写的代码,能让一条鱼呼吸吗?
Demo:
http://code-oxygen.gamer.gd/
(手机端也已适配哦)
我电脑里养着一条鱼。它不吃饲料,吃代码。
贴一段代码进鱼缸,水会变清或变浊,那条白色斗鱼会欢快巡游、浮头喘气,或者干脆沉底睡着。分数越高,它游得越轻。
它叫 echo。
为什么做这个
1024 这天大家都在展示"写了多少代码",我想展示另一件事:一段代码的呼吸质。
代码不怕被批评,怕的是被审判——所以鱼不骂人:低分只是"它有点缺氧,但还在游",最低分也只是"它没怪你,只是先睡一会儿"。
动手前,我先砍掉了两个方案
这个作品不是第一个念头。我先用半天做了赛道侦察:翻了社区 1024 投稿区,解压安慰类、人格测试类、节日小游戏类已经挤满了,博物馆纪念类也有三四个。
第一版方案是"把 git 提交历史种成一座 3D 生态岛"——被我毙掉的原因很现实:我连 GitHub 都登不上去,只有一个烂尾老账户,故事讲不圆。
最后定下的标准是:不调 AI、不联网、单文件、30 秒出结果——把"代码质量"变成一条活鱼,这条赛道还没人做。
方向定了,先写 PRD:五项各 20 分(结构 / 命名 / 注释 / 重复 / 风险),每条扣分规则都给到具体行号;鱼的五种状态对应一组动画参数而不是五张贴图;连"绝对不许出现什么字"都写进了红线。
【图2 · PRD 文档截图】
分步开发:给 TRAE 立规矩,比写需求更重要
开发全程在 TRAE 里完成,节奏是这样的:新开对话,整份 PRD 丢进去,要求分步实现,每步验收再进下一步。
中途开侧边对话纠偏了两次,印象最深的一次:我要的是整个页面的开机动画(全屏 CRT BIOS 自检,黑屏 → 电子束亮起 → `MEMORY … 1024K OK` → `FISH: echo .. ALIVE`),助手理解成了鱼缸里的特效——补了一段把"页面级"和"缸内级"划死的补丁,才有了现在的开机:约 1.7 秒,二次访问只播 0.6 秒,点一下就跳过。
写完不是终点。我按 PRD 逐条审查,让助手出了一份隐患报告排行:哪条没达标、哪条降级了、哪条在裸奔,一条条修。
然后让它自己开后台进程做测试——这里翻车了:它一口气开了三个后台进程跑测试截图,我那台工作电脑直接卡到怀疑人生。于是我给它立了新军规:测试只许单进程,一套流程跑完再跑下一套。之后一路顺畅,最后构建、部署、上线。
它看什么
- 结构:嵌套深度、函数长度
- 命名:单字母、泛化名
- 注释:TODO、注释掉的代码
- 重复:行哈希比对
- 风险:eval、空 catch、硬编码密钥——检测到会先拦住你:“约第 X 行像密钥,删掉再分享”
说清楚:它是规则式静态分析,linter 的远房表亲,不是严格 Code Review,行号都是"约第 X 行"。
但它有两个优点:每一分都指得到具体行;代码不执行、不上传、不保存,全程在你浏览器里算完,断网也能测。
怎么玩
1. 打开 Demo,看一段开机动画(可跳过)
2. 贴代码(或点示例),`Ctrl+Enter` 开测
3. 看鱼、看报告、存一张 3:4 体检卡
4. 再测一段
3D 模型来自 Sketchfab(CC 协议,署名见页脚与 README);分析器源码在开源仓库里,欢迎来挑规则的不合理之处。
现在,轮到你了
贴一段代码,我回你一张体检卡。
没代码也可以只报分数。我最想看的其实是低分卡——"我的鱼睡着了"在评论区应该是光荣的事。
1024,愿你的代码有氧气,也愿你今晚能早点下班。





