借助Rubocop,我可以覆盖this之类的.rubocop.yml
文件中的规则:
AllCops:
RunRailsCops: true
# Commonly used screens these days easily fit more than 80 characters.
Metrics/LineLength:
Max: 120
# Too short methods lead to extraction of single-use methods, which can make
# the code easier to read (by naming things), but can also clutter the class
Metrics/MethodLength:
Max: 20
我必须相信CodeSniffer支持类似的功能,但是在他们的Wiki页面上,我找不到任何有关规则的信息:
默认配置文件似乎不支持它:
答案 0 :(得分:1)
是的,PHP_CodeSniffer允许您使用ruleset.xml文件定义自己的编码标准。此处提供带注释的:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-Ruleset
您也可以将文件phpcs.xml命名为让PHPCS自动将其拾取,并停止每次运行都需要使用--standard = / path / to / ruleset.xml。此处的文档:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#using-a-default-configuration-file
许多嗅探器具有允许您更改其行为的属性。您可以在此处查看列表:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Customisable-Sniff-Properties
一个很好的例子可能是行长一:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Customisable-Sniff-Properties#genericfileslinelength
您可能还想检出PHPCS用作完整示例的phpcs.xml文件:https://github.com/squizlabs/PHP_CodeSniffer/blob/master/phpcs.xml.dist
如何完全构造文件可能不在此问题的范围内,但是您应该能够搜索构造PHPCS规则集以获得更多信息。如果没有,请在这里问更多问题:)