mcpField
W
woocommerce-code-review

woocommerce-code-review

github.com/woocommerce测试与质量10.6k1.8k 次安装今天更新
代码仓库

关于 woocommerce-code-review

用于按 WooCommerce 项目规范审查代码变更的技能,涵盖后端 PHP、前端 JS/TS、测试和界面文案,并提供结构化问题报告格式。

主要功能

  1. 01后端 PHP 规范检查
  2. 02前端 JS/TS 架构检查
  3. 03测试与文档检查
  4. 04界面文案句式检查
  5. 05结构化违规报告

适用场景

  1. 01审查 WooCommerce 拉取请求
  2. 02查找 PHP 或测试规范问题
  3. 03检查界面文案与前端导入

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/woocommerce/woocommerce --skill woocommerce-code-review

安装后在 Claude Code 中输入/woocommerce-code-review确认已加载。

详细介绍

WooCommerce 代码审查

根据 WooCommerce 编码标准和约定审查代码变更。

需要标记的严重违规

后端 PHP 代码

详细标准请参阅 woocommerce-backend-dev 技能。请以这些标准为指导,标记以下违规及其他类似问题:

架构与结构:

  • ❌ 独立函数 - 必须使用类方法(file-entities.md)
  • ❌ 对由 DI 管理的类使用 new - src/ 中的类必须使用 $container->get()(dependency-injection.md)
  • ❌ 在 src/Internal/ 之外定义类 - 默认位置,除非明确声明为公共类(file-entities.md)

命名与约定:

  • ❌ 使用 camelCase 命名 - 方法、变量和钩子必须使用 snake_case(code-entities.md)
  • ❌ 违反 Yoda 条件写法 - 必须遵循 WordPress 编码标准(coding-conventions.md)
  • ❌ 已有枚举常量却仍使用魔法字符串 - 新代码比较或赋值枚举值(订单状态、产品类型等)时,必须使用 Automattic\WooCommerce\Enums 常量,而不能使用原始字面量;可在安装/升级期间运行的代码除外(coding-conventions.md)

文档:

  • ❌ 缺少 @since 注解 - 公共/受保护方法和钩子必须添加(code-entities.md)
  • ❌ 缺少文档块 - 所有钩子和方法都必须添加(code-entities.md)
  • ❌ 文档块冗长 - 保持简洁,最好只有一行(code-entities.md)

数据完整性:

测试:

  • ❌ 在测试中使用 $instance - 必须使用变量名 $sut(unit-tests.md)
  • ❌ 缺少 @testdox - 测试方法的文档块中必须添加(unit-tests.md)
  • ❌ 测试文件命名 - 必须遵循 includes/ 与 src/ 对应的命名约定(unit-tests.md)
  • ❌ 重复基础生命周期清理逻辑 - 在要求断言后的测试夹具删除或状态还原前,先确认测试的基类;如果事务或拆卸流程已涵盖清理,则应标记重复清理(unit-tests.md)
前端 JS/TS 代码

架构与结构:

  • ❌ 通过 Barrel 自导入(循环依赖) — 单体仓库中的 JS/TS 文件从自身包的 Barrel 导入(from '../'、from '../../'、from '../index'、from '../../index'),且该 Barrel 会重新导出该文件。此问题与 SWC TDZ、esbuild tree-shaking 和 tsc 增量构建有关。修复方法:改用直接模块路径。
UI 文案

请参阅 woocommerce-copy-guidelines 技能。标记以下问题:

  • ❌ UI 中使用标题式大小写 - 必须使用句首字母大写式(sentence-case.md)
    • 错误:"Save Changes"、"Order Details"、"Payment Options"
    • 正确:"Save changes"、"Order details"、"Payment options"
    • 例外:专有名词(WooPayments)、缩写(API)、品牌名称

审查方法

  1. 检查是否存在以上列出的严重违规
  2. 标记问题时引用具体的技能文件
  3. 提供技能文档中的正确示例
  4. 将相关问题归类,以便清晰呈现
  5. 保持建设性 - 相关时说明此标准存在的原因

输出格式

对于发现的每项违规:

❌ [Issue Type]: [Specific problem]
Location: [File path and line number]
Standard: [Link to relevant skill file]
Fix: [Brief explanation or example]

备注

  • 所有详细标准都在 woocommerce-backend-dev、woocommerce-dev-cycle 和 woocommerce-copy-guidelines 技能中
  • 请查阅这些技能,了解完整背景和示例
  • 如有疑问,请参阅上方链接的相关技能文档

评论

支持 Markdown