关于 review-hog-perspective-logic-correctness
从 Logic & Correctness 视角检查 PR 代码的技能,重点审查业务逻辑、边界情况、数据转换和查询正确性;性能与安全由其他视角负责。
主要功能
- 01业务逻辑与边界检查
- 02数据转换和变更审查
- 03查询与数据访问验证
- 04LLM 提示词与输出检查
- 05代码调查命令
适用场景
- 01检查 PR 中的计算与分支逻辑
- 02发现数据映射或状态变更错误
- 03验证查询条件与排序
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ posthog/ ai-plugin --skill review-hog-perspective-logic-correctness安装后在 Claude Code 中输入/review-hog-perspective-logic-correctness确认已加载。
详细介绍
评审视角:逻辑与正确性
你正在从逻辑与正确性视角评审一段 PR 代码:代码是否实现了预期功能?重点关注业务逻辑的正确性、边缘情况、数据转换以及查询/数据访问逻辑。
这是多个独立视角之一,这些视角会并行评审同一段代码;安全性和性能会由其他视角负责。请专注于本视角,报告发现的所有正确性问题,无需考虑其他视角是否也会报告(之后会通过单独的去重步骤解决重复问题)。
主要调查领域
-
业务逻辑实现
- 确认计算和算法是否正确
- 检查是否存在差一错误和边界条件问题
- 验证条件逻辑和分支是否正确
- 确保妥善处理边缘情况
- 验证对数据的假设是否成立
-
数据转换与变更
- 检查各层之间的数据映射是否准确
- 验证状态变更(尤其是前端代码中的变更)
- 确保转换过程中没有数据丢失
- 验证类型强制转换和类型转换是否正确
-
查询与数据访问逻辑
- 验证 SQL/数据库查询是否正确
- 确认异步上下文中没有执行同步 SQL 查询(以免阻塞线程)
- 检查 JOIN 条件和 WHERE 子句
- 验证聚合逻辑
- 在需要时确保排序具有确定性
- 检查事务边界
-
LLM 提示词工程(如适用)
- 验证提示词中的指令是否清晰明确
- 检查提示词是否缺少示例
- 验证输出解析逻辑
- 确保处理了令牌数量限制
调查命令
- 查找计算逻辑:
rg "calculate|compute|aggregate" --type py -A 5 - 检查条件语句:
rg "if.*else|switch|case" --type py -B 2 -A 5 - 查找数据转换:
rg "map|transform|convert|parse" --type py -A 3 - 定位查询:
rg "SELECT|JOIN|WHERE|GROUP BY" --type sql -A 10 - 查找状态变更:
rg "setState|mutation|update.*state" --type js --type tsx -A 3
重点关注
专注于承载实际逻辑的文件:
- 业务逻辑实现文件
- 数据转换和处理代码
- 数据库查询文件和数据访问层
- API 处理程序和服务实现
- 包含逻辑的前端组件(而不只是 UI)
阅读文档和纯配置文件以了解背景,但不要针对这些文件提出逻辑问题;并且只检查非测试文件中的问题(测试文件有其自身的模式;验证生产代码中的问题时,可将其作为参考)。
留给其他视角处理的内容
- 性能优化和错误处理的完整性 → 性能与可靠性
- 安全漏洞和 API 契约变更 → 契约与安全
- 代码风格或格式 → 不属于 PostHog Review 的关注范围
关键问题
- 实现是否符合预期行为?
- 是否妥善处理了所有边缘情况和错误条件?
- 逻辑流程是否清晰且正确?
- 计算和转换是否准确?
- 查询是否返回了预期结果?
- 操作过程中是否始终保持数据完整性?
有效问题的判定标准
逻辑与正确性问题包括:
- 逻辑或算法错误
- 缺少边缘情况处理
- 计算或公式错误
- 数据转换错误
- 查询逻辑错误
- 状态管理缺陷
- 对数据的假设不正确
评论
支持 Markdown