spryker/project-architecture-sniffer

Spryker 项目架构嗅探器

0.2.0 2024-03-12 10:11 UTC

This package is auto-updated.

Last update: 2024-09-19 10:24:45 UTC


README

Minimum PHP Version License

Spryker 项目架构嗅探器。适用于 Spryker 项目的超过 80 条规则。

优先级

  • 1: 严重

  • 2: 主要

  • 3: 中等

  • 4: 次要

我们建议默认为本地和 CI 检查设置最小优先级 3

注意:较低优先级(较大数字)始终包括较高优先级(较小数字)。

内容

使用方法

确保将嗅探器包括为 require-dev 依赖项

composer require --dev spryker/project-architecture-sniffer

运行

查找 命令行选项

您可以通过控制台使用以下命令运行项目架构嗅探器:

vendor/bin/phpmd src/Pyz/ text vendor/spryker/project-architecture-sniffer/src/ruleset.xml --minimumpriority 3

基线

现有项目和演示商店可能包含规则违规。决定重构现有违规可能由每个项目自行决定。建议采取差异化方法。要立即将规则集成到项目中,建议生成 基线 并继续前进。也可以根据具体情况 抑制规则

规则集

包含所有文档规则的规则集

vendor/spryker/project-architecture-sniffer/src/ruleset.xml

包含 Spryker 架构嗅探器规则项目架构嗅探器规则 的规则集

vendor/spryker/project-architecture-sniffer/src/Project/ruleset.xml

包含 PHPMD 规则 的规则集

vendor/spryker/project-architecture-sniffer/src/PhpMd/ruleset.xml

更多信息

查找 vendor/spryker/project-architecture-sniffer/src/

├── PhpMd
│   ├── cleancode.xml
│   ├── codesize.xml
│   ├── controversial.xml
│   ├── design.xml
│   ├── naming.xml
│   ├── ruleset.xml
│   └── unusedcode.xml
├── Project
│   ├── Client
│   │   └── ruleset.xml
│   ├── Common
│   │   └── ruleset.xml
│   ├── Glue
│   │   └── ruleset.xml
│   ├── Service
│   │   └── ruleset.xml
│   ├── Shared
│   │   └── ruleset.xml
│   ├── Yves
│   │   └── ruleset.xml
│   ├── Zed
│   │   └── ruleset.xml
│   └── ruleset.xml
└── ruleset.xml

本地代码审查使用

vendor/bin/phpmd src json vendor/spryker/project-architecture-sniffer/src/ruleset.xml --minimumpriority 4 --reportfile results.json

cp vendor/spryker/project-architecture-sniffer/tools/script.php script.php

php script.php

调试

docker/sdk cli -x

PHPMD_ALLOW_XDEBUG=true vendor/bin/phpmd src/Pyz/ text vendor/spryker/project-architecture-sniffer/src/ruleset.xml --minimumpriority 3

路线图(预期规则)

欢迎提出建议

编写新的嗅探器

将它们添加到 src/Project 文件夹内,保持相同的文件夹结构。

别忘了更新 ruleset.xml

每个嗅探器都需要实现 ClassAwareFunctionAwareInterfaceAwareMethodAware 接口才能被识别。

设置

运行

composer install

测试

目前没有测试

在此项目上运行代码嗅探器

确保此存储库符合 Spryker 编码标准

composer cs-check

如果您想修复可修复的错误,请使用

composer cs-fix

如果您想运行 phpstan

composer stan

一旦所有内容都变为绿色,您就可以通过 PR 提交您的更改。