mirror of
https://gh.wpcy.net/https://github.com/WordPress/WordPress-Coding-Standards.git
synced 2026-04-24 22:06:42 +08:00
Most files only needed minor changes for this, the Core ruleset however needed more extensive adjustment. The Core ruleset used additional indentation to show which rules belonged with each handbook paragraph, making the ruleset more easily scannable. As this extra indentation violates the formatting rules, the handbook paragraph headers have been given "fencing" to maintain the scannability of the document.
119 lines
5.8 KiB
XML
119 lines
5.8 KiB
XML
<?xml version="1.0"?>
|
|
<ruleset name="WordPress Docs">
|
|
<description>WordPress Coding Standards for Inline Documentation and Comments</description>
|
|
|
|
<!--
|
|
Handbook: PHP Documentation Standards
|
|
Ref: https://make.wordpress.org/core/handbook/best-practices/inline-documentation-standards/php/
|
|
-->
|
|
|
|
<rule ref="Squiz.Commenting">
|
|
<!-- Excluded to allow /* translators: ... */ comments -->
|
|
<exclude name="Squiz.Commenting.BlockComment.SingleLine"/>
|
|
<!-- Sniff seems to require indenting with spaces -->
|
|
<exclude name="Squiz.Commenting.BlockComment.FirstLineIndent"/>
|
|
<!-- Sniff seems to require indenting with spaces -->
|
|
<exclude name="Squiz.Commenting.BlockComment.LineIndent"/>
|
|
<!-- Sniff seems to require indenting with spaces -->
|
|
<exclude name="Squiz.Commenting.BlockComment.LastLineIndent"/>
|
|
<!-- WP requires /** for require() et al. See https://github.com/squizlabs/PHP_CodeSniffer/pull/581 -->
|
|
<exclude name="Squiz.Commenting.BlockComment.WrongStart"/>
|
|
<!-- WP handbook doesn't clarify one way or another, so ignore -->
|
|
<exclude name="Squiz.Commenting.BlockComment.NoEmptyLineAfter"/>
|
|
|
|
<!-- WP prefers indicating @since, @package, @subpackage etc in class comments -->
|
|
<exclude name="Squiz.Commenting.ClassComment.TagNotAllowed"/>
|
|
|
|
<!-- WP doesn't require //end ... for classes and functions -->
|
|
<exclude name="Squiz.Commenting.ClosingDeclarationComment.Missing"/>
|
|
|
|
<!-- Excluded to allow param documentation for arrays -->
|
|
<exclude name="Squiz.Commenting.DocCommentAlignment.SpaceAfterStar"/>
|
|
|
|
<!-- WP doesn't require a @author value for Squiz -->
|
|
<exclude name="Squiz.Commenting.FileComment.IncorrectAuthor"/>
|
|
<!-- WP doesn't require a @copyright value for Squiz -->
|
|
<exclude name="Squiz.Commenting.FileComment.IncorrectCopyright"/>
|
|
<!-- WP doesn't require @author tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.MissingAuthorTag"/>
|
|
<!-- WP doesn't require @subpackage tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.MissingSubpackageTag"/>
|
|
<!-- WP doesn't require @copyright tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.MissingCopyrightTag"/>
|
|
<!-- WP has a different prefered order of tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.PackageTagOrder"/>
|
|
<!-- WP has a different prefered order of tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.SubpackageTagOrder"/>
|
|
<!-- WP has a different prefered order of tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.AuthorTagOrder"/>
|
|
<!-- WP has a different prefered order of tags -->
|
|
<exclude name="Squiz.Commenting.FileComment.CopyrightTagOrder"/>
|
|
|
|
<!-- WP prefers int and bool instead of integer and boolean -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.IncorrectParamVarName"/>
|
|
<!-- WP prefers int and bool instead of integer and boolean -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.InvalidReturn"/>
|
|
<!-- WP prefers indicating a @return null for early returns -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.InvalidReturnNotVoid"/>
|
|
<!-- WP states not all functions require @return -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.MissingReturn"/>
|
|
<!-- Excluded to allow param documentation for arrays -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.ParamCommentNotCapital"/>
|
|
<!-- Excluded to allow param documentation for arrays -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.SpacingAfterParamName"/>
|
|
<!-- WP doesn't require type hints -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.TypeHintMissing"/>
|
|
|
|
<!-- Exclude to allow duplicate hooks to be documented -->
|
|
<exclude name="Squiz.Commenting.InlineComment.DocBlock"/>
|
|
<!-- Excluded to allow /* translators: ... */ comments -->
|
|
<exclude name="Squiz.Commenting.InlineComment.NotCapital"/>
|
|
|
|
<!-- Not in Inline Docs standard, and a code smell -->
|
|
<exclude name="Squiz.Commenting.LongConditionClosingComment"/>
|
|
|
|
<!-- Not in Inline Docs standard, and needed to bypass WPCS checks -->
|
|
<exclude name="Squiz.Commenting.PostStatementComment"/>
|
|
|
|
<!-- WP prefers int and bool instead of integer and boolean -->
|
|
<exclude name="Squiz.Commenting.VariableComment.IncorrectVarType"/>
|
|
<!-- WP demands a @since tag for class variables -->
|
|
<exclude name="Squiz.Commenting.VariableComment.TagNotAllowed"/>
|
|
<!-- WP prefers @since first -->
|
|
<exclude name="Squiz.Commenting.VariableComment.VarOrder"/>
|
|
|
|
<!-- It is too early for PHP7 features to be required -->
|
|
<exclude name="Squiz.Commenting.FunctionComment.ScalarTypeHintMissing"/>
|
|
</rule>
|
|
|
|
<!-- Make this sniff less likely to trigger on end comments. -->
|
|
<rule ref="Squiz.PHP.CommentedOutCode">
|
|
<properties>
|
|
<property name="maxPercentage" value="45"/>
|
|
</properties>
|
|
</rule>
|
|
|
|
<rule ref="Generic.Commenting">
|
|
<!-- WP has different alignment of tag values -->
|
|
<exclude name="Generic.Commenting.DocComment.TagValueIndent"/>
|
|
<!-- WP has a different prefered order of tags -->
|
|
<exclude name="Generic.Commenting.DocComment.ParamNotFirst"/>
|
|
<!-- Excluded to allow param documentation for arrays -->
|
|
<exclude name="Generic.Commenting.DocComment.ParamGroup"/>
|
|
<!-- WP prefers no empty line between @param tags and @return -->
|
|
<exclude name="Generic.Commenting.DocComment.NonParamGroup"/>
|
|
<!-- Excluded to allow param documentation for arrays -->
|
|
<exclude name="Generic.Commenting.DocComment.TagsNotGrouped"/>
|
|
<!-- Exclude to allow duplicate hooks to be documented -->
|
|
<exclude name="Generic.Commenting.DocComment.ContentAfterOpen"/>
|
|
<!-- Exclude to allow duplicate hooks to be documented -->
|
|
<exclude name="Generic.Commenting.DocComment.SpacingBeforeShort"/>
|
|
<!-- Exclude to allow duplicate hooks to be documented -->
|
|
<exclude name="Generic.Commenting.DocComment.ContentBeforeClose"/>
|
|
|
|
<!-- WP allows @todo's in comments -->
|
|
<exclude name="Generic.Commenting.Todo.CommentFound"/>
|
|
<!-- WP allows @todo's in comments -->
|
|
<exclude name="Generic.Commenting.Todo.TaskFound"/>
|
|
</rule>
|
|
</ruleset>
|