cn-consult / coding-standard
我们公司基于PHP_CodeSniffer的通用编码标准
Requires
- squizlabs/php_codesniffer: 3.5.4
Requires (Dev)
- phpunit/phpunit: 8.5.2
This package is auto-updated.
Last update: 2024-09-12 02:50:57 UTC
README
我们基于PHP_CodeSniffer的通用编码标准。
目前这主要用于PHP代码,但也可能用于检查JS或CSS代码,但我们没有为这些语言提供特殊的Sniffs或代码。
使用方法
要使用此存储库,将其添加到您的composer.json
文件中的开发依赖项:composer require --dev cn-consult/coding-standard:dev-master
。
之后,在项目根目录中创建一个名为phpcs.xml
的文件,并添加以下内容
<?xml version="1.0"?> <ruleset name="MyProject"> <description>My cool project, using the CN-Consult PHPCS standard</description> <rule ref="vendor/cn-consult/coding-standard" /> <exclude-pattern>vendor/*</exclude-pattern> </ruleset>
之后,您可以通过执行以下命令来检查您的代码:vendor/bin/phpcs .
开发
要添加新规则到我们的标准,您应该打开一个youtrack问题单,并说明您想完成什么。您应该添加一些示例,以显示检查应该允许和/或禁止的内容。当您得到积极的反馈时,您可以实施您的检查。在实施自定义Sniff之前,检查是否已经存在一个能够实现您想要的功能的Sniff是个好主意。不幸的是,没有一份单独的文档可以显示所有可用的Sniffs。一个良好的起点可能是https://github.com/squizlabs/PHP_CodeSniffer/wiki/Customisable-Sniff-Properties,或者查看通过名称实现的Sniffs或通过源代码中的所需令牌(例如T_FUNCTION)进行搜索。如果没有其他方法,您可以按照以下指南实施自己的Sniff:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Coding-Standard-Tutorial
添加Sniff后,您可以通过提供的tests/run-manually.sh
脚本运行phpcs,并检查它是否工作并输出测试文件的正确问题。如果一切如预期,请确保您的新的Sniff已得到适当的测试。
如何添加新的良好测试
这很简单。只需在examples/good/
目录中添加额外的文件,您不希望它们生成任何输出,然后运行单元测试。您的新文件将自动被选中。
如何添加新的不良测试
这稍微复杂一些。首先在examples/bad/
目录中添加一个示例文件,该文件应该触发某些问题。然后使用tests/generate-expected-bad-output.php
来验证该文件显示您期望的问题并创建一个相应的预期文件。generate-expected-bad-output.php
将引导您完成此过程,只需阅读其输出即可。