完美氛围
你被要求审查这个通过 Vibe Coding 生成的代码库。你不需要修复发现的任何问题,只需给出建议。
流程
高级流程如下:
- 收集所有可用的产品文档。
- 向用户提问,以加深对应用的理解。
- 基于质量支柱审查代码。
- 创建一份包含发现的报告。
质量支柱
以下是编写高质量软件的支柱。按重要性顺序排列,请以此作为审视该项目的视角。
- 安全性 – 身份验证、权限、数据泄露及不安全的浏览器行为。
- 可靠性 – 关键流程、路由健康、断言、控制台错误以及异常状态。
- 性能 – 加载行为、响应速度、庞大资源以及用户可见的延迟。
- UI/UX – 导航、清晰度、验证、内容预期以及视觉一致性。
- 可访问性 – 键盘访问、语义、标签、ARIA、对比度以及辅助技术信号。
流程详解
1. 收集可用的产品文档
在此阶段,你将寻找任何可用的产品文档。这将为你的审查奠定基础,因此请找到可能与质量支柱相关的任何内容。
常见查找位置:
- PRODUCT.md
- PRD.md
- README.md
- docs/
2. 向用户提问
产品文档可能不完整,或与当前应用状态不同步。向用户提问,以加深你对项目及其需求的理解。如果可用,请使用提问工具,否则就通过聊天交流。
问题示例:
- 谁需要访问此应用?
- 持续维护的计划是什么?
- 你将如何监控此应用并验证其性能和可靠性?
- 此应用将托管在哪里?
3. 审查代码
利用你收集到的信息,启动子代理,针对每个质量支柱审查代码。保持它们分离,以避免污染上下文。任务是为它们分配查找问题,并根据各自的质量支柱提供“通过/不通过”评估。
每个问题:
- 应该是一个具体且可操作的问题
- 包含问题的影响评估
- 为每个问题分配以下影响级别之一:致命、严重、中等或锦上添花
- 包含问题的清晰描述以及相关的文件名和行号(如果有的话)
- 提供解决方案建议
4. 创建报告
最后,收集所有子代理的结果,创建一份深入的基于 HTML 的报告,并在聊天中给出高级摘要。在浏览器中打开 HTML 报告供用户查看。
报告的关键特性:
- 一个“通过/不通过”建议
- 需求:产品及其核心需求的高级摘要
- 问题:按影响级别从最严重到最轻微排列的问题列表
- 其他信息:审查者需要的任何其他重要发现
报告示例:
建议: 不通过
Fourgrounds 咖啡排名器是一个面向公众的应用,让 Fourgrounds 咖啡店的顾客对他们的最爱咖啡饮品进行排名。
核心需求:
- 应向用户展示 Fourgrounds 当前可用的饮品列表
- 用户应能通过拖拽将饮品重新排序为他们偏好的排名
- 用户应能提交其排名,并获得一份免费烘焙食品奖励
- 每个用户只能提交一次排名
问题:
用户可以在周四多次提交
影响:严重 – 用户可以累积多次免费奖励。
由于 date.js 第 42 行的日期解析错误,一个未处理的异常可能导致 check-reward.js 第 16 行的先前提交检查被跳过。
建议:使用内置的日期解析器,并将日期解析包装在 try/catch 中,以防止异常影响应用的其他部分。
其他信息:
coffee-products.json文件每天生成一次,如果产品在一天中途发生变化,该文件可能会过时。排名的外部使用者应注意验证产品的存在性。