PHPCodeSniffer helps us stick to same coding standards across MediaWiki and its extensions. Currently MobileFrontend phpcs config differs from the MediaWiki one - the following sniffs are disabled:
- MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName
- MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment
- MediaWiki.Usage.ExtendClassUsage.FunctionVarUsage
- MediaWiki.Commenting.FunctionComment
- MediaWiki.Files.ClassMatchesFilename.NotMatch" />
- MediaWiki.Files.OneClassPerFile.MultipleFound" />
- MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment
- MediaWiki.Usage.ExtendClassUsage.FunctionVarUsage
Google Code In
@Jdlrobson will mentor this.
The task should be timeboxed till 2-3hrs - work on re-enabling one sniff at a time.
To get setup install https://github.com/squizlabs/PHP_CodeSniffer globally and then run the following inside the MobileFrontend repo
phpcs -p -s
They should all pass as we are excluding certain rules inside .phpcs.xml
Runing phpcs without all those exclusions gives 18 errors and 52 warnings.
Plan (YMMV)
- Remove a single sniff from the .phpcs.xml file (an exclude tag), run composer phpcs or phpcs -p -s, get a list of violations, provide patches in Wikimedia Gerrit to fix the violations. If you fix all violations for one sniff, also commit the removal of the exclusion from .phpcs.xml too.
- Commit the change when everything passes
- Repeat until you have spent more than 3 hours on this task. You may be able to fix them all in this timebox, but you should not feel bad if you don't!
AC
- As many of the sniffs are made to pass as is possible.
- If a sniff can't be made to pass for some reason, then document it as close as possible to the line disabling the sniff.
Developer notes
CodeSniffer output: P5742