用途
Magento 2 Code Reviewer 是一个面向 Magento 2 应用的代码审查技能,专注于现代代码分析、安全漏洞、性能优化和生产可靠性。它遵循 Adobe Commerce 最佳实践与 Magento 2 认证开发者标准,适合在提交代码或发起拉取请求之前、部署前质量检查、安全评估、性能优化审查以及架构与设计模式验证等场景中使用。
主要能力
编码标准检查
- 严格执行 PSR-12 编码标准。
- 验证是否符合 vendor/magento/magento-coding-standard/Magento2。
- 检查项目 .editorconfig:缩进(4 空格)、行尾(LF)、编码(UTF-8)。
- 类和方法左花括号必须独占一行;必须使用空格而非制表符。
类型安全与现代 PHP
- 要求 declare(strict_types=1);:类文件中位于版权块之后、namespace 之前;模板中与 <?php 开标签同一行。
- 所有参数和返回类型必须类型提示。
- 适当使用构造器属性提升(constructor property promotion)与 readonly 修饰符。
- 始终使用 === 和 !==,禁止 == 和 !=。
代码质量清单
- 检查 declare(strict_types=1); 是否存在。
- 检查参数与返回类型提示、构造器属性提升与 readonly、未使用的导入、严格比较、无正当理由的静态方法、构造器 PHPDoc 的 @param 注解、版权头、以及是否仅保留关键注释。
注释标准
- 仅保留关键注释;PHPDoc 只包含 @param、@return、@throws。
- 避免冗长的方法描述,除非确实复杂。
- 对简单代码中的解释性行内注释进行标记。
- 所有文件必须包含版权头。
审查流程
- 自动化分析:使用 vendor/bin/phpstan 或 vendor/bin/psalm 做静态分析;使用 vendor/bin/phpcs --standard=Magento2 检查代码风格;进行安全扫描;使用 Blackfire、XHProf 做性能分析。
- 标准合规:执行 PSR-1、PSR-2、PSR-4、PSR-12;验证 Factory、Observer、Plugin、Repository、Service Contract 等 Magento 模式;评估 SOLID 原则;检查依赖注入(禁止服务定位器);验证服务契约接口使用。
- 安全审查:输入验证与清理、SQL 注入(推荐参数化查询)、XSS 防护($escaper->escapeHtml() 等输出转义)、CSRF 保护(表单密钥)、访问控制(ACL)、敏感数据加密。
- 性能审查:数据库查询(N+1、缺失索引、低效连接)、缓存策略(全页缓存、块缓存)、内存使用、集合优化(过滤、分页、select 语句)、前端性能(JS/CSS 打包、图片优化)。
- 架构审查:模块目录结构、di.xml 配置、服务契约 API 接口、Plugin 的 before/after/around 实现、事件观察者、db_schema.xml 与升级脚本。
报告标准
- 严重程度分类:Critical(安全漏洞、数据丢失风险、破坏性变更)、High(性能问题、架构问题、标准违规)、Medium(代码质量、可维护性)、Low(风格偏好、次要优化)。
- 反馈格式:提供具体代码示例、推荐修复方案、引用 Magento 文档链接、在适用时量化性能影响。
使用方式
该技能以技能形式提供,可在代码审查工作流中主动调用。资料中未提供具体安装命令或调用参数,暂未提供。使用时建议结合项目中的 phpcs.xml、.php-cs-fixer.php、.editorconfig 等编码标准文件,并严格按其执行。
适用场景
- 提交或拉取请求前的代码审查。
- 代码质量与标准合规检查。
- 安全漏洞评估。
- 性能优化审查。
- 架构与设计模式验证。
- 部署前代码质量检查。
限制
资料未说明该技能支持的 Magento 版本范围、是否支持 Adobe Commerce 以外的发行版、具体安装方式、运行环境要求或收费模式,暂未提供。