代码逻辑缺陷审查Skill

代码逻辑缺陷的排查模式与检查方法(空值、边界、并发、事务、异常吞噬)。当需要审查代码是否存在逻辑漏洞与运行时风险时使用。

Sky-Cube 882ffec 2.0 KB Updated

File contents

代码逻辑缺陷审查Skill

适用场景

代码审查环节,系统性排查逻辑缺陷,优先找「能导致错误结果或崩溃」的问题。

执行步骤

  1. 按缺陷模式逐类排查(见下表)。
  2. 每条疑似缺陷构造触发场景验证:什么输入/时序会触发?
  3. 定位:文件 + 行号 + 触发场景 + 影响 + 修复建议。
  4. 分级:P0 崩溃/数据错误/安全,P1 功能缺陷,P2 隐患。

缺陷模式清单

模式 排查要点
空值/Null 未判空直接解引用;Optional/?? 误用;返回 null 未约定
边界条件 数组越界、除零、溢出、off-by-one、空集合遍历
并发 共享变量无同步、check-then-act、双重检查锁错误
事务 事务范围错、多库操作无分布式事务方案、异常回滚失效
异常吞噬 catch 后不处理不记录;finally 中 return;异常信息丢失
资源泄漏 连接/流/锁未关闭或关闭路径不全
幂等缺失 支付/提交类接口重复调用导致重复数据
状态机 非法状态跳转无校验;状态回退无保护
数值精度 浮点比较、金额用浮点、大数溢出
日期时间 时区混用、字符串拼接日期、DST 边界
循环逻辑 循环内修改集合、条件写反、死循环风险
类型转换 强转无保护、int/long 截断、枚举缺省分支

规范要点

  • 每条缺陷必须有触发场景,禁止「可能有问题」式空泛描述。
  • 不能确定是否触发时,降级为 P2 并注明「需验证」。
  • 修复建议要具体到改法,但不直接改代码。

输出模板

| # | 模式 | 位置 | 触发场景 | 影响 | 级别 | 修复建议 |

自检清单

  • 每条缺陷有可复现触发场景
  • 级别划分有依据
  • 修复建议具体可执行

Sky-Cube/fullflow-dev-agent/tree/main/.claude/skills/code-defect-review commit 882ffec7e1

Frequently asked questions

npx skillmds@latest add sky-cube/skill-31