代码审查反馈优化助手

2 浏览
0 试用
0 购买
Nov 12, 2025更新

本提示词专为代码审查场景设计,能够将技术性审查意见转化为专业、友好且具建设性的反馈语言。通过结构化分析和正向表达重构,有效提升团队沟通效率与协作氛围,确保每条反馈均包含具体改进建议与鼓励性理由,适用于各类代码审查场景,帮助审查人员快速生成高质量反馈内容。

原始意见: 这个函数太臃肿,近300行还塞进一个文件里;变量名a、b、c完全看不出含义;注释又旧又混乱,中文、英文和过时TODO混在一起;魔法数字到处都是;还把业务逻辑和IO耦合在一起。这样合并进去以后根本没人能维护,重构一下再提吧。

优化表达: 这段功能实现得比较完整,便于我们整体把握业务流程。为提升可读性和后续维护体验,建议在结构与命名上做一些轻量调整。以下改进可以分步进行,不改变现有业务逻辑,同时让代码更容易被团队理解与复用:

改进建议:

  1. 将超长函数按职责拆分

    • 以“输入校验 → 业务计算/转换 → 结果组装 → 持久化/IO”四个阶段拆分为多个小函数(每个函数控制在30–50行左右)。
    • 示例(伪代码):
      • validateInput(...)
      • computeResult(...)
      • formatOutput(...)
      • persistResult(ioAdapter, ...)
  2. 使用具名类型与语义化变量名

    • 将 a、b、c 更名为能反映业务含义的名称,如 userCount、retryLimit、threshold 等,并为复合结构引入类型/接口或数据类。
  3. 清理与规范化注释

    • 统一注释语言与风格(例如代码内统一使用英文,开发文档可保留中文),删除过期注释, 将 TODO 转为可追踪的任务链接(如 ISSUE-123)。
    • 为核心函数加简短的函数头注释(目的、输入/输出、可能的副作用)。
  4. 消除魔法数字

    • 将常量集中到一个配置/常量文件或结构体中(如 TIMEOUT_MS、MAX_RETRY、DEFAULT_THRESHOLD),枚举型状态用 enum 表达。
    • 对涉及业务规则的数值添加注释或文档来源。
  5. 解耦业务逻辑与 IO

    • 通过依赖注入传入 IO 适配器(reader/writer 或 repository/service 接口),让业务函数只处理纯数据与规则。
    • 示例(伪代码):
      • process(config, ioAdapter): data = ioAdapter.read(); result = computeResult(data, config); ioAdapter.write(result)
  6. 补充针对拆分后函数的单元测试

    • 为 validate、compute 和格式化函数分别添加测试用例,覆盖关键分支和边界值。
  7. 增量落地策略

    • 若时间紧张,可优先完成变量重命名、常量抽取与注释规范三项,然后在下一次迭代进行函数拆分与 IO 解耦。

技术理由:

  1. 函数拆分能降低认知负担与圈复杂度,便于定位问题与复用单独职责。
  2. 语义化命名让代码“自解释”,减少查阅上下文的成本,降低误用风险。
  3. 注释统一与清理可避免误导信息,提高协作效率;将 TODO 转为可追踪任务有利于计划管理。
  4. 常量化与枚举化能表达业务意图,避免硬编码导致的隐式依赖和回归风险。
  5. 业务与 IO 解耦可实现更纯净的核心逻辑,提升可测试性与可移植性(例如从文件切换到数据库或消息队列时,业务层无需改动)。
  6. 单元测试覆盖核心逻辑,使重构更安全,便于在后续迭代中验证行为一致性。
  7. 增量落地降低一次性改动的风险,兼顾交付节奏与质量提升。

预期效果:

  • 代码结构更清晰、阅读成本更低,新同学能在短时间理解业务流程。
  • 降低维护风险与回归概率,提升迭代速度与代码可信度。
  • 通过解耦与测试覆盖,后续扩展(更换 IO、调整业务规则)更容易且更安全。
  • 统一的命名与注释风格提升团队协作体验,减少沟通摩擦与认知偏差。

原始意见

分页接口写得很糟:先全表扫描再内存分页,循环里做数据库查询造成N+1,缓存也没有。数据一上量就会卡死甚至把数据库拖垮。别再用这种写法了,改成带索引的条件查询+limit/offset,或基于游标的分页,必要时加批量预取和结果缓存。

优化表达

当前分页实现在数据量增长时可能面临性能风险:存在全表扫描、内存分页以及循环内数据库查询(N+1)等模式,容易造成高延迟和数据库压力。为提升稳定性与扩展性,建议将分页查询调整为基于索引的条件检索,并采用更高效的分页策略(limit/offset 或游标/Keyset)。同时,结合批量预取与合理的结果缓存,将显著降低数据库负载并改善用户侧响应时间。下面给出可直接落地的优化方案与技术依据。

改进建议

  1. 使用带索引的条件查询 + 服务端分页

    • 为查询条件和排序字段建立合适的(复合)索引。例如:index(status, created_at, id) 或 index(created_at, id)。
    • 查询示例(按时间倒序分页):
      SELECT id, title, created_at
      FROM articles
      WHERE status = 'published'
      ORDER BY created_at DESC, id DESC
      LIMIT :pageSize OFFSET :offset;
      
    • 保证 ORDER BY 与索引顺序一致,减少排序开销。
  2. 优先考虑 Keyset(游标)分页,避免深度 offset

    • 对深页场景改用“基于最后一条记录游标”的方式:
      -- 首次页
      SELECT id, title, created_at
      FROM articles
      WHERE status = 'published'
      ORDER BY created_at DESC, id DESC
      LIMIT :pageSize;
      
      -- 下一页(基于上一页最后一条记录的 created_at/id)
      SELECT id, title, created_at
      FROM articles
      WHERE status = 'published'
        AND (created_at, id) < (:lastCreatedAt, :lastId)
      ORDER BY created_at DESC, id DESC
      LIMIT :pageSize;
      
  3. 消除 N+1 查询:使用关联查询或批量预取

    • ORM 场景:使用 eager loading(如 select_related/join、prefetch_related/batch);
    • SQL 场景:用一次查询或批量 IN 获取关联数据:
      -- 主列表
      SELECT id, author_id, created_at FROM articles ... LIMIT :pageSize OFFSET :offset;
      
      -- 批量预取作者
      SELECT id, name FROM authors WHERE id IN (:authorIds);
      
  4. 控制内存与返回体大小

    • 限制单页大小(如 20~100),禁止一次性拉取超大页;
    • 仅选择必要字段(避免 SELECT *),减少网络与反序列化开销;
    • 在支持的驱动上开启结果集流式读取/合理 fetch size。
  5. 建立覆盖索引与稳定排序

    • 将查询返回的核心字段纳入索引(覆盖索引),减少回表;
    • 保证排序字段唯一性或加入次序键(如 id)避免分页重复/漏数据;
    • 定期校验统计信息与碎片,确保优化器选择正确索引。
  6. 结果缓存与缓存旁路策略(Cache-Aside)

    • 对热门列表页或稳定条件的查询结果做短 TTL 缓存(如 30~120 秒),键包含条件+页号或游标;
    • 使用缓存击穿/雪崩保护(随机化 TTL、请求合并/单航门);
    • 写操作时按条件精细失效或标记为过期,保证数据新鲜度与一致性。
  7. 保护与回压

    • 增加分页接口的最大深度与速率限制,防止异常抓取;
    • 配置数据库连接池上限、查询超时与重试策略;
    • 对慢页返回引导提示(如推荐过滤条件或跳转到 Keyset)。
  8. 验证与监控

    • 对关键查询执行 EXPLAIN/ANALYZE,确认索引使用与成本;
    • 打开慢查询日志与指标(QPS、P95/P99、buffer hit、rows examined);
    • 在预生产进行数据量级基准测试与回归测试(含并发与深页场景)。

技术理由

  1. 带索引条件查询与服务端分页

    • 全表扫描是 O(N) 的代价,数据量上升时不可线性扩展;索引检索可将查找降到 O(log N + pageSize),并把排序与过滤下推到存储层。
  2. Keyset(游标)分页优于深度 offset

    • offset 本质需要跳过前 offset 行,代价与 offset 成正比;Keyset 通过“从上次位置继续”进行索引定位,稳定在 O(log N + pageSize),深页性能更优且更稳定。
  3. 批量预取消除 N+1

    • N+1 把一次业务操作拆分为 N 次往返,成倍增加延迟与连接占用;通过 JOIN 或批量 IN 将查询合并,显著降低 RTT 与锁竞争。
  4. 内存与返回体控制

    • 减少字段与页大小,可降低网络带宽、序列化成本与应用内存压力,减轻 GC 与提升吞吐。
  5. 覆盖索引与稳定排序

    • 覆盖索引避免回表 IO,提升缓存命中;稳定排序(如 created_at + id)确保分页边界不产生重复/遗漏,提升数据一致性。
  6. 结果缓存与缓存旁路

    • 列表页通常复用度高,短 TTL 缓存能把读负载从数据库转移到内存系统;旁路策略简单可靠,易于与现有写路径集成。
  7. 保护与回压

    • 在高并发或异常抓取场景,通过限速、连接池上限与超时设置避免资源被耗尽,保护数据库与服务稳定性。
  8. 验证与监控

    • EXPLAIN/ANALYZE 能直观评估查询计划与索引是否生效;持续监控与基准测试确保优化在真实负载下达成预期。

预期效果

  • 响应时间与尾延迟显著降低,深页场景稳定性提升;
  • 数据库 CPU/IO 与行扫描数下降,整体吞吐提升;
  • 应用内存占用与 GC 压力减少,接口更平稳;
  • 热门查询命中缓存后,数据库负载进一步降低;
  • 在高并发与大数据量情况下保持可扩展性与一致性,用户体验更流畅。
  • 原始意见: 把密钥写死在代码里还提交到仓库,日志里打印完整JWT,SQL都是字符串拼接,完全没有参数化,XSS过滤也没做。这些是基础安全问题,风险非常高,立即整改,不然上线就是事故。

  • 优化表达: 当前实现中存在几处常见的安全隐患(密钥管理、日志敏感信息、SQL注入防护、XSS防护)。为了更稳健地支撑上线与后续运营,建议优先完善以上基础安全措施。下面提供分项的改进方案与理由,便于快速落地与验证。

  • 改进建议:

    1. 密钥管理
    • 将密钥从代码中移出,统一通过配置或密钥管理服务加载(如环境变量、Kubernetes Secret、HashiCorp Vault、AWS Secrets Manager)。
    • 在代码中使用配置读取接口,避免硬编码;为本地开发提供示例配置(.env.example),并确保实际密钥不进入版本库(.gitignore)。
    • 对已经提交过的密钥进行轮换:生成新密钥、替换部署环境、撤销旧密钥;同时在仓库中清理历史(或限制历史访问),并在CI中加入秘密扫描(如 gitleaks、trufflehog)。
    1. 日志中的 JWT 处理
    • 不在日志中打印完整令牌或Authorization头;如确需定位问题,记录最小必要信息(例如 jti、sub、过期时间)或掩码后展示(仅前后各显示几位)。
    • 在网关/中间件位置统一做日志脱敏:对“Authorization”、“Set-Cookie”等字段进行过滤或红线掩码。
    • 调整日志级别与采集范围:将敏感字段的记录限制在DEBUG并默认关闭,并使用结构化日志便于统一过滤。
    1. SQL 注入防护(参数化)
    • 将字符串拼接改为参数化查询或预编译语句(Prepared Statement),使用占位符绑定参数:
      • 例如:SELECT ... WHERE id = ?;或在ORM中使用query builder的绑定机制(如 Sequelize/TypeORM/JPA 的参数绑定)。
    • 对动态拼接的排序/分页字段,采用白名单校验(仅允许预期字段),避免直接拼字符串。
    • 在数据库层启用最小权限账户,限制写入/DDL权限,降低潜在注入的影响面。
    1. XSS 防护
    • 前端模版/框架启用默认转义(React/Vue/Angular 默认转义输出),避免使用危险API(如 v-html、dangerouslySetInnerHTML);确需渲染HTML时,对内容进行白名单化和消毒(如 DOMPurify)。
    • 服务端按输出上下文做编码(HTML、属性、URL、JSON等),避免将用户输入未经处理直接输出。
    • 配置安全响应头:启用严格的 Content-Security-Policy(CSP)、X-Content-Type-Options、X-Frame-Options、Referrer-Policy;并将会话cookie设置为 HttpOnly、Secure、SameSite。
    • 输入校验与规范化:对富文本/评论等高风险输入进行格式和长度限制,减少攻击面。
    1. 流程与工具化保障
    • 在CI/CD中纳入安全检查:SAST(代码静态扫描)、依赖漏洞扫描(如 Dependabot/Snyk)、Secrets 扫描、容器镜像扫描。
    • 提供开发阶段的预提交钩子(pre-commit)与IDE插件,自动检测敏感信息与危险拼接。
    • 建立异常与访问审计:对登录/令牌使用、权限变更进行审计日志记录(已脱敏),为后续问题定位与合规提供依据。
  • 技术理由:

    1. 密钥外置与轮换
    • 硬编码密钥容易在版本控制与构建产物中扩散,外置管理可降低泄露概率,并支持分环境配置与权限隔离。
    • 轮换能及时消除泄露影响;Secrets 扫描可在提交环节阻断问题进入主干。
    1. JWT 脱敏与最小记录
    • 完整令牌一旦出现在日志或可观察系统中,等同于被动泄露;记录最小必要信息即可支持排查,同时满足合规与隐私要求。
    • 中间件统一脱敏能减少遗漏,结构化日志有利于集中治理与审计。
    1. 参数化查询
    • 参数化能让数据库将数据与指令分离,从源头消除注入风险;多数驱动与ORM原生支持占位符绑定,改造成本可控。
    • 白名单策略避免对标识符类输入的任意拼接,覆盖常见的“ORDER BY”等注入场景。
    1. XSS 防护与安全头
    • 输出编码与内容消毒是应对存储型/反射型XSS的基本手段;结合CSP可在浏览器侧进一步限制脚本来源与执行。
    • 安全响应头与Cookie属性可减少会话劫持与点击劫持风险,提升整体安全基线。
    1. 工具化与流程
    • 在流水线上自动化检测能持续发现问题并阻断进入生产,降低对个人注意力的依赖。
    • 审计与监控为事后调查与合规提供证据链,并帮助及时发现异常行为。
  • 预期效果:

    • 敏感信息不再进入代码库与日志,显著降低泄露风险与合规压力。
    • SQL与前端输出更安全,能有效防御常见的注入与XSS攻击,提升整体稳健性。
    • 通过流程与工具化保障,将安全从一次性修复转为持续能力,减少上线与运营阶段的安全事件概率。
    • 团队在开发体验与安全性之间取得平衡,后续迭代成本更可控。

示例详情

解决的问题

将生硬或负面倾向的代码审查意见,快速转化为专业、友好、且可执行的反馈;为每条意见自动补齐明确的修改建议、原因与预期收益;统一团队审查话术与输出结构,降低沟通摩擦;缩短合并周期、减少往返沟通、提升开发者体验与代码质量;适用于日常审查、新人带教、跨团队协作与质量治理场景,助力团队形成持续改进的文化与标准。

适用用户

代码审查负责人

使用本提示快速将审查意见重写为建设性反馈,明确修改步骤与收益,减少合并阻力,提升评审周转效率。

资深开发工程师

将复杂技术问题拆解为可执行建议与正向表达,指导同事优化代码与设计,同时维持专业又友好的沟通氛围。

新入职或初级开发者

通过优化后的反馈理解问题根因、学习改进方法与最佳实践,自主修复缺陷并建立高质量代码习惯。

特征总结

一键将技术意见转化为专业友好、可执行的建设性反馈,降低抵触提升接受率
自动识别审查核心问题点并提炼重点,聚焦最影响质量与交付的改动
按标准模板生成完整反馈结构,含原始意见、优化表达、建议、理由与预期效果
为每个问题给出具体可行的修改步骤与示例,落地迅速,避免含糊其辞
灵活调整语气强度,从严谨到友善自如切换,匹配不同对象与团队文化
以正向表达替换批评性措辞,兼顾专业与鼓励,营造合作氛围与心理安全
逐条附带技术依据与收益说明,使建议更有说服力,便于团队形成共识
适配日常评审、新人指导、跨组协作等场景,统一反馈风格,降低沟通成本
通过结构化流程引导思考,避免遗漏关键点,提高审查效率与反馈质量

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥20.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 498 tokens
- 4 个可调节参数
{ 原始审查意见 } { 审查场景 } { 反馈重点 } { 语气强度 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
限时免费

不要错过!

免费获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59