spryker / project-architecture-sniffer
Spryker 项目架构嗅探器
0.2.0
2024-03-12 10:11 UTC
Requires
- php: >=8.0
- spryker/architecture-sniffer: ^0.5.7
Requires (Dev)
- codeception/codeception: ^4.1
- codeception/module-asserts: ^1.3
- phpstan/phpstan: ^1.0.0
- spryker/code-sniffer: *
- symfony/var-dumper: ^4.0
README
Spryker 项目架构嗅探器。适用于 Spryker 项目的超过 80
条规则。
优先级
-
1
: 严重 -
2
: 主要 -
3
: 中等 -
4
: 次要
我们建议默认为本地和 CI 检查设置最小优先级 3
。
注意:较低优先级(较大数字)始终包括较高优先级(较小数字)。
内容
29
适配 PHPMD 规则39
适配 Spryker 架构嗅探器规则13
新 项目架构嗅探器规则
使用方法
确保将嗅探器包括为 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
。
每个嗅探器都需要实现 ClassAware
、FunctionAware
、InterfaceAware
或 MethodAware
接口才能被识别。
设置
运行
composer install
测试
目前没有测试
在此项目上运行代码嗅探器
确保此存储库符合 Spryker 编码标准
composer cs-check
如果您想修复可修复的错误,请使用
composer cs-fix
如果您想运行 phpstan
composer stan
一旦所有内容都变为绿色,您就可以通过 PR 提交您的更改。