jobilla/coding-rules

Jobilla针对不同工具的通用代码风格规则

v2.0 2021-08-06 14:45 UTC

This package is auto-updated.

Last update: 2024-09-06 21:38:16 UTC


README

PHP代码的完整QA集包括以下工具

推荐用法

我们内部使用持续集成服务器(Bamboo)运行自动检查,但基本上任何持续集成服务器都应该能够完成这项工作。(强烈推荐)

您也应该能够将工具链接到您选择的文本编辑器/IDE。以下是我们的内部开发团队偏好的示例。

PHPMD 插件

https://github.com/AtomLinter/linter-phpmd
https://github.com/SublimeLinter/SublimeLinter-phpmd
https://www.jetbrains.com/help/phpstorm/10.0/using-php-mess-detector.html

PHPCS 插件

https://atom.io/packages/linter-phpcs
https://github.com/SublimeLinter/SublimeLinter-phpcs
https://www.jetbrains.com/help/phpstorm/10.0/using-php-code-sniffer-tool.html

安装和运行检查

  • 克隆仓库/将其包含在项目的composer.json中
  • 如果通过composer包含,运行composer update将配置文件安装到您的vendor文件夹中
  • 请记住,在composer.json中包含到主项目的require-dev部分中所需的QA工具,以便使用实际工具和FG自定义配置文件
  • 来自我们内部项目的composer.json的示例
    "require-dev": {
        "phpunit/phpunit": "~4.0",
        "squizlabs/php_codesniffer": "2.*",
        "phpmd/phpmd" : "@stable",
        "phploc/phploc": "*",
        "sebastian/phpcpd": "*",
        "jobilla/coding-rules": "dev-master"
        },
    "repositories": [
        {
            "type": "vcs",
            "url": "git@github.com:jobilla/coding-rules.git"
        }
    ]
  • 通过CLI运行工具或将其集成到您的开发工具中
  • 通过CLI运行示例
$ vendor/bin/phpmd --reportfile ./phpmd-report.html app/ html vendor/jobilla/coding-rules/phpmd/ruleset.xml
$ vendor/bin/phpcs --standard=./vendor/jobilla/coding-rules/phpcs/ruleset.xml --report-file=./phpcs-report.txt app/
$ vendor/bin/phpcpd app/ > ./phpcpd-report.txt
$ vendor/bin/phploc app/ > ./phploc-report.txt
$ vendor/bin/phpunit > ./phpunit-report.txt

自动修复代码风格错误

PHPCS附带一个名为phpcbf的可执行文件,允许自动修复由CodeSniffer检测到的某些违规行为。更多信息可以通过此链接找到: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Fixing-Errors-Automatically

通过CLI运行phpcbf的示例

$ vendor/bin/phpcbf --standard=vendor/jobilla/coding-rules/phpcs/ruleset.xml app  

以下仓库和作者的作业已被用作配置的各个部分的基座,或者对最终结果产生了重大影响
https://github.com/bigbank-as/phpcs
https://gist.github.com/slayerfat/2b3cc4faf94d2863b505