SuperAPI AI 工具集

bagisto-code-review

测试与质量

查看项目

更新于 10-15 17:24

技能介绍

用途:在审查 Bagisto 代码变更或拉取请求时使用,关注正确性、约定合规与质量,或判断改动是否可合并。核心理念是 Pint 和测试套件已覆盖机械性问题,审查精力应花在工具看不到的地方。

主要能力与用法:把格式化交由 vendor/bin/pint --test,行为交由 vendor/bin/pest,翻译键由 php artisan bagisto:translations:check,浏览器层交由 Playwright。能作为退出码判断的问题就不要写成评审意见。

阻塞项:循环内查询或缺失预加载导致的 N+1;对 products、orders、customers 等增长表无界 ->get(),应分页或分块;仓储方法未按所有者作用域访问卖家或客户数据;用请求值插值构造的 whereRaw、selectRaw、DB::raw、orderByRaw 等原始片段。安全方面由 bagisto-coding-standards 技能负责,常见真实问题包括店面查询用请求 id 却未限定当前客户,以及 DataGrid 闭包插值未用 e()。架构方面:仓储外出现 DB:: 或模型查询(DataGrid 的 prepareQueryBuilder() 除外);新模型缺少 Contract、Model、Proxy、Repository;bootstrap/providers.php 与 config/concord.php 注册不一致;为扩展修改核心文件(应使用绑定子类、view_render_event 监听器或 Concord 模型替换);用户可见字符串未经 trans()。

非阻塞但值得提出:第三次出现的重复、需注释才能读懂的方法体、被改动文件中已有的 docblock 或成员顺序违规、断言计数或列表位置的测试、事件在单记录与批量路径触发不一致。

审查方式:先读测试;追问什么会破坏它;检查反向验证,修复回退后测试是否失败;沿一条完整路径端到端追踪而非逐块读 diff;确认哪些门禁已运行、哪些被跳过。

撰写发现:先陈述缺陷,再给出触发输入,最后给修复;区分已验证与疑似;要求调用 bagisto-change-verification 后再宣告变更完成。限制:资料未提供安装命令、费用与平台信息。