Поддерживает ли PHP CodeSniffer конфигурацию для конкретных правил, такую ​​как Rubcop? - PullRequest
0 голосов
/ 24 сентября 2018

С Rubocop я могу переопределить правила в .rubocop.yml файле, например this :

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 поддерживает что-то подобное, но, глядя на их вики-страницу, яничего не могу найти о правилах:

И файл конфигурации по умолчанию, кажется, не поддерживает его:

1 Ответ

0 голосов
/ 25 сентября 2018

Да, 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.xml, который использует PHPCS.в качестве полного примера: https://github.com/squizlabs/PHP_CodeSniffer/blob/master/phpcs.xml.dist

Как полностью построить файл, возможно, выходит за рамки этого вопроса, но вы должны иметь возможность искать для создания наборов правил PHPCS, чтобы получить больше информации.Если нет, задавайте больше вопросов здесь:)

...