ratemy.sh

rate-my-code · Staff 级别的产品审查

做完了,不等于能上线。

你的应用能跑,但那和「可以放出去」是两回事。rate-my-code 会真的去用一遍:下个单、把它弄坏、试试能不能读到别人的数据,然后把看到的摆给你。问题全都列出来,再告诉你先修哪三个。

审计 · F-014 目标:real-money ref: sha256:4b17…c9d2

问题清单

BLOCKER · F-001结账失败后重试会产生第二笔扣款。一次购买可能向用户收两次钱。

HIGH · F-004任何已登录用户改一下 URL 里的 id 就能打开别人的订单。别人的购买记录被看到了。

待验证

UNKNOWN · U-002退款和取消从未完整走通过一遍。钱这条路只证明了一半。

证据通道

deterministic-checksPASS
critical-journey-e2eFAIL
probabilistic-evalN/A (无 LLM 行为)
continuous-evidenceUNVERIFIED
最高安全档位:private-beta
阻断闸门:duplicate-real-charge, authorization-bypass
NOT READY
这份判决样张里,四条证据通道分别是:确定性检查(校验器和断言过没过)、 关键旅程(用户真的走通一次下单或登录没有)、概率性评测(重复跑多次的行为达没达到门槛)、 持续证据(上线之后这套结论还成不成立)。最高安全档位是它敢放行到哪一步,五档从松到严是 internal-demo、private-beta、public-launch、real-money、high-stakes。

范围

它到底审什么。

只审有产品后果的东西。风格偏好和时髦架构不算问题。

·

先搞清楚产品答应了用户什么,再找出实际做不到的事。

·

钱:会不会扣两次、扣一半、退款丢了、同一条支付通知被算两遍?

·

把地址栏里的数字改一下,能不能看到别人的东西?

·

用户手快点了两下、两个人同时改、存到一半断了,分别会怎样?

·

一个账号的一辈子:注册、升级、取消、删号、把数据带走、再回来。

·

半夜三点坏了,有人知道吗?还能不能退回到坏之前?

这六条只是最常出事的地方,不是全部。

装与不装

装上它之后,有什么变化。

一个称职的 agent 本来就会读你的代码,也会有意见。下面这些是只有装了它才会出现的行为。

你给的路径打错了,那个应用根本不存在。

没装它

它没发现路径是错的,照样开审:审的是旁边碰巧有的文件,提的也是那些文件的问题。

装了它

它看一眼就告诉你 ./missing-app 不存在,然后停下,绝不悄悄跑去审另一个看着像的文件夹。

你没说按什么标准审。

没装它

它替你定了一个标准,通常不是最严就是最松,而且从不告诉你选了哪个。

装了它

它问你两件事:谁来审、审多严。答过一件,就只问另一件。

应用在它手里跑不起来。

没装它

它不提跑不起来这回事,把看着可疑的代码当成实锤故障报给你,或者干脆什么都不说。

装了它

它明说跑不起来,改成读代码,读出来的问题标成推断,不当成实证。光靠读代码,它不批上线。

同一条规则,写在三份文档里。

没装它

它一份一份地读,什么也没发现,因为每一份单独看都说得通。

装了它

它把三份摆在一起对,发现一份说 30 天、另一份说永不过期,把写错的每一页都点出来。

别家跳过的一步

那修复本身,谁来审?

多数审查列完问题就结束了。要是接着动手修,先想清楚补丁是什么。它是项目里最新写的代码,为了赶紧关掉问题才写出来。它没有自己的测试,也没人读过。

1

修复的人不能给自己打分。

得换一个人来看。

2

一份 diff 不等于修好了。

每条问题都带一个验收测试。另一个人重现出原来的故障,又看着它不再发生, 这条才算 verified-fixed

3

补丁本身也要被审。

复测的人还会把改动本身当成新代码,再审一遍。修复自己带出来的毛病算新问题、新编号, 没解决之前这一批不算完。

4

什么时候停,看证据不看清单。

它只在三种情况下停:全部验过、遇到一个它说得出名字的阻碍、或者你明说剩下的风险你认了。最后这种会记成「你认了」,不会被悄悄写成「修好了」。

这个网站本身就是这么审的。第一轮问题修完之后,独立复测在那批补丁里又找出两个缺陷:一份公开可读的旧备份,和一个焦点进不了正文的跳转链接。两个都是修复过程带出来的,重跑原来的验收测试一个也发现不了。

怎么跑

开审之前,先问你两个设置。

它不会默默替你选最严的那档,也不会默默选最松的。

1

审查角色

产品负责人 / 挑剔用户 / Staff 工程师 / Staff 前端工程师 / 怀疑论 VC / 答辩考官

2

审查程度

从松到严五档:快速体检(默认,只查最要紧的几项)、严格审查(给小范围试用的标准)、 上线门禁(公开发布的标准)、真实收米档(要碰真钱或敏感数据)、生死档(受监管或者出事就致命)。

§

分数不能把硬闸门平均掉。

有些问题不管总分多好看都拦住发布。你说「这个我认了」,它也不会因此变成通过。

§

从快速体检起步。

它是默认档,因为完整档要贵好几倍。它查得少,但会告诉你哪些没查。

安装

一条命令,或者插件市场。

一个客户端选一种装法就行。第一遍只读,什么都不改;能碰什么,仍然由你自己的沙箱和授权弹窗说了算。

任意 Skills 客户端 · 推荐
npx skills add AmsonntagChow/rate-my-code --skill rate-my-code
Claude Code
/plugin marketplace add AmsonntagChow/rate-my-code
Codex
codex plugin marketplace add AmsonntagChow/rate-my-code && codex plugin add rate-my-code@amsonntagchow-rate-my-code