ocreaper / naming-convention-analyzer
检查预定义的命名规范
Requires
- php: ^7.1
- dealerdirect/phpcodesniffer-composer-installer: ^0.6.2 || ^0.7
- squizlabs/php_codesniffer: ^3.5.6
This package is auto-updated.
Last update: 2024-09-23 23:52:38 UTC
README
ocReaper 命名规范分析器为 PHP_CodeSniffer 提供了确保正确变量和函数命名的嗅探器。
确保的规范与 kettanaito/naming-cheatsheet 相同。
项目使用 tbrianjones/Inflect.php 来处理复数。
目录
此标准中包含的嗅探器
🔧 = 自动错误修复
NamingConventionAnalyzer.Functions.ActionPrefix
确保函数必须以动词开头。如果函数以前缀开头:则将使用第二个单词进行检查。
NamingConventionAnalyzer.Functions.BoolPrefix
确保返回布尔值的函数必须以
- has
- is
- should
NamingConventionAnalyzer.Functions.ContextDuplication
确保函数不重复其所属类的名称。
NamingConventionAnalyzer.Variables.ContextDuplication
确保变量不重复其所属函数的名称。
NamingConventionAnalyzer.Variables.SingularPlural
确保包含非关联数组的变量的名称是复数。
Squiz.NamingConventions.ValidFunctionName.NotCamelCaps
确保函数名称是驼峰式。
Squiz.NamingConventions.ValidVariableName.NotCamelCaps
确保变量名称是驼峰式。
Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
确保类成员名称是驼峰式。
Squiz.NamingConventions.ValidVariableName.StringNotCamelCaps
确保双引号字符串内的变量名称是驼峰式。
安装
推荐安装 ocReaper 命名规范分析器的方式是通过 Composer。
{
"require-dev": {
"ocreaper/naming-convention-analyzer": "0.4.1"
}
}
如何运行嗅探器
您可以选择两种方式之一,在您的代码库上仅运行标准中的选定的嗅探器
选择要运行的嗅探器
推荐的方式是编写自己的 ruleset.xml,仅引用选定的嗅探器。这是一个示例 ruleset.xml
<?xml version="1.0"?> <ruleset name="AcmeProject"> <config name="installed_paths" value="../../ocreaper/naming-convention-analyzer"/><!-- relative path from PHPCS source location --> <rule ref="NamingConventionAnalyzer.Functions.ContextDuplication"/> <!-- other sniffs to include --> </ruleset>
然后按照常规方式运行 phpcs 可执行文件
vendor/bin/phpcs --standard=ruleset.xml --extensions=php --tab-width=4 -sp src tests
排除您不想运行的嗅探器
您还可以在项目的 ruleset.xml 中提及 ocReaper 命名规范分析器,并仅排除一些嗅探器
<?xml version="1.0"?> <ruleset name="AcmeProject"> <rule ref="vendor/ocreaper/naming-convention-analyzer/NamingConventionAnalyzer/ruleset.xml"><!-- relative path to your ruleset.xml --> <!-- sniffs to exclude --> </rule> </ruleset>
然而,这不是推荐使用 ocReaper 命名规范分析器的方式,因为当在标准的次要版本之间移动时(如果您在 composer.json 中使用 ^ 或 ~ 版本约束),您的构建可能会中断。我经常在次要版本中添加新的嗅探器,这意味着您的代码不太可能符合新次要版本的包。
自动修复错误
带有 🔧 符号的此标准中的嗅探器支持 自动修复编码标准违规。要自动修复您的代码,请运行 phpcbf 而不是 phpcs。
vendor/bin/phpcbf --standard=ruleset.xml --extensions=php --tab-width=4 -sp src tests
始终记得在执行自动修复之前备份您的代码,并用您自己的眼睛检查结果,因为自动修复器有时可能会产生不期望的结果。
贡献
为了让这个仓库在您的机器上工作,请克隆它,然后在仓库的根目录中运行以下两个命令:
composer install