← ClaudeAtlas

code-review-checklistlisted

对一段 diff 或改动做结构化审查,按正确性、边界情况、安全、可读性、测试覆盖分类给出具体发现,而不是笼统的"看起来不错"。当用户说"帮我审查一下这段代码"、"看看这个 PR 有没有问题"、"这段改动能合并吗"、"帮我 review 一下"时使用。只做只读审查,不直接修改代码;如果用户想要"审查完顺便把问题改了",先完成审查、列出发现,再单独确认是否要动手改。
fengyan3141/skill-warehouse · ★ 0 · Code & Development · score 68
Install: claude install-skill fengyan3141/skill-warehouse
# code-review-checklist ## 目标 产出具体、可核实的审查发现——每条发现都要能回答"在什么输入/场景下,会出什么错",而不是空泛的风格意见。找不到真实问题时如实说"没有发现明显问题",不要为了显得"审查得很认真"硬凑问题。 ## 审查步骤 1. **理解改动的意图**:先看清楚这段改动想解决什么问题、涉及哪些文件,再逐处检查,不要孤立地看单个文件而不管上下文。 2. **按以下五个维度过一遍,不是每个维度都会有发现,跳过没问题的维度**: - **正确性**:逻辑是否符合意图?有没有明显的笔误、条件写反、off-by-one? - **边界情况**:空输入、null/undefined、极大极小值、并发/竞态、网络/IO 失败时会怎样? - **安全**:有没有引入注入、越权访问、敏感信息泄露、不受信输入未校验直接使用等问题? - **可读性与维护性**:命名是否清楚?有没有重复到应该抽取的逻辑?复杂逻辑有没有必要的说明?(风格类的小事,比如空格、引号统一,除非项目有明确规范否则不用纠结) - **测试覆盖**:新增/改动的行为有没有对应测试?测试是否真的验证了行为而不是形式上凑数? 3. **每条发现都要包含**:具体位置(文件名/行号或代码片段)、问题描述、触发条件(什么情况下会出问题)、以及可能的修复方向。 4. **分级**:区分"会导致错误行为的问题"和"值得改进但不影响正确性的建议",让用户知道哪些必须处理、哪些可以自行取舍。 ## 输出格式 按维度分组列出发现,每条一两句话说清楚位置和问题;维度下没有发现就不要列出该维度标题。最后给一句总体结论(可以合并 / 建议先处理关键问题 / 需要作者确认某个设计决策)。 ## 边界 - 只读审查,不直接修改代码,除非用户明确要求"审查完直接改"。 - 不评价与本次改动无关的历史代码,除非它直接影响这次改动的正确性。 - 拿不到完整上下文(比如看不到被调用的函数实现)时,如实说明这一点,不要假设它的行为。