PHP 静态代码检查工具

烈酒焚心 提交于 2020-08-14 02:34:34

PHP静态代码检查工具

是什么?

可以理解为有一个机器人帮忙做代码 review。

为什么?

在代码运行前发现可能的问题;

减少低级问题的人工review时间,提升整体代码质量。

怎么做?

准备工作:安装 composer

略,请参考 composer 常用命令

安装及使用 phpcs

说明:phpcs 主要用于检查代码是否符合规范,常用 PSR1、PSR2 标准。

关于编码规范可以参考: PHP PSR 标准规范

# 安装
composer require --dev squizlabs/php_codesniffer

# 查看支持
./vendor/bin/phpcs -i

# 检查代码
# 此命令可以加一个 --suffix=.fixed 参数,自动修复代码并另存一个文件
./vendor/bin/phpcs ./path-to-code --standard=PSR2

# 自定义检查规则配置
# 复制一份基准规则,调教为自己期望的规则
cp vendor/squizlabs/php_codesniffer/src/Standards/PSR2/ruleset.xml ./my-phpcs-ruleset.xml
vi ./my-phpcs-ruleset.xml
./vendor/bin/phpcs ./path-to-code --standard=./my-phpcs-ruleset.xml

安装及使用 phpmd

说明:phpmd 主要用于检查代码风险,发现潜在的bug。

# 安装
composer require --dev phpmd/phpmd

# 查看支持的 规则 和 报告输出格式
./vendor/bin/phpmd -i

# 检查代码
# 示例 的 text 对应 输出格式, naming,unusedcode 对应规则(集)
./vendor/bin/phpmd ./path-to-code text naming,unusedcode

# 同样支持自定义规则
# 复制一份基准规则,调教为自己期望的规则
cp vendor/phpmd/phpmd/src/main/resources/rulesets/unusedcode.xml ./my-phpmd-ruleset.xml
vi ./my-phpmd-ruleset.xml
./vendor/bin/phpmd ./path-to-code text naming,./my-phpmd-ruleset.xml

自定义规则参考: 如何创建自定义规则集

参考文章

PHP代码规范质量检测工具 PHPMD PHPCS

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!