Есть ли стандарт PHPCS, предназначенный для PHP docblocks? - программирование
Подтвердить что ты не робот

Есть ли стандарт PHPCS, предназначенный для PHP docblocks?

Есть ли стандарт кодирования PHPCS, который бы проверял, что в докблоке присутствуют правильные аннотации (@param, @return, @throws и т.д.), включая правильный интервал между ними?

4b9b3361

Ответ 1

Попробуйте запустить следующую команду и посмотреть, создает ли она то, что вы хотите:

phpcs /path/to/code --standard=Squiz --sniffs=Squiz.Commenting.FunctionComment,Squiz.Commenting.FunctionCommentThrowTag,Squiz.Commenting.ClassComment,Squiz.Commenting.FileComment,Squiz.Commenting.VariableComment

Если это так, вы можете создать свой собственный стандарт, который включает только эти нюки и все, что вы хотите проверить. Вы делаете это, создавая файл ruleset.xml и используя это как свой стандарт.

Например, вы можете создать файл с именем mystandard.xml и включить следующий контент:

<?xml version="1.0"?>
<ruleset name="MyStandard">
  <description>My custom coding standard.</description>
  <rule ref="Squiz.Commenting.FunctionComment" />
  <rule ref="Squiz.Commenting.FunctionCommentThrowTag" />
  <rule ref="Squiz.Commenting.ClassComment" />
  <rule ref="Squiz.Commenting.FileComment" />
  <rule ref="Squiz.Commenting.VariableComment" />
</ruleset>

Затем вы можете запустить эту команду:

phpcs /path/to/code --standard=/path/to/mystandard.xml

В файле ruleset.xml есть другие вещи, которые вы можете сделать. См. Документы здесь: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml

Ответ 2

В 2017 году у вас появилось больше опций:

  • один из лучших нюков для проверки docblocks TypeHintDeclarationSniff от SlevomatCodingStandard отлично работает с PHP 7, PHP 7.1, удалить неиспользуемые документы и т.д.
  • также вы можете использовать другой инструмент - PHP-CS-Fixer, там вы можете найти больше фиксаторов, которые поможет вам с docblock, просто найдите "doc"