Automattic / Automattic/VIP-Coding-Standards
Audit Public Sniff Properties
- Langage dominant
- PHP
- Étoiles
- 261
- Forks
- 44
- Merge moyen
- 19 min
- PR mergées (30 j)
- 1
Description
## What problem would the enhancement address for VIP?
There are 47 instances of public properties within sniff classes. Public properties allow changing sniff behaviour by customising a ruleset by passing different types of values via the ruleset. VIP [uses](https://github.com/Automattic/VIP-Coding-Standards/blob/918b0ca0fe986ae58babd77c7ab5e0ff7a6f7eb5/.phpcs.xml.dist#L29) itself to adjust how a WPCS sniff runs.
However, I suspect that some of the instances are NOT meant to be changed - whitelisted Batcache params, restricted constant names and declarations, etc.
## Describe the solution you'd like
Audit the uses and convert to `private` where suitable. Document the rest on a [wiki page](https://github.com/Automattic/VIP-Coding-Standards/wiki/Custom-properties-for-VIPCS-Sniffs).
I'll create a linked list of the 47 instances, possibly along with who added them, to check if they are meant to be public or not.
For those that are meant to be changeable, then a better approach for some cases is to have a private default list of values, and then a public custom list, and the two lists merged together - that way, the custom rulesets don't need to also add in the default values as well.
## Additional context
Note that this would technically be a breaking change, since it is possible that someone was already making use of these unintentional public properties in their own rulesets. As such, this would require a bump from `0.y.z` to `0.y+1.0`, or a normal major release if `1.0.0` has been released in the meantime.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Examinez les 47 propriétés publiques des classes de sniff, en commençant par l’override VIP dans .phpcs.xml.dist et par la liste chaînée des instances lorsqu’elle est disponible. Pour chaque propriété, déterminez si elle est destinée à être configurable ou privée, et consignez les recommandations relatives aux propriétés configurables sur la page wiki Custom properties for VIPCS Sniffs. Le travail est considéré comme terminé lorsque les propriétés appropriées sont privées, que les autres propriétés sont documentées et que l’impact de la release avec breaking change est pris en compte.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- php
- Domaine
- documentation, tooling
- Type d'issue
- Refactorisation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 25/100