Automattic / Automattic/VIP-Coding-Standards

Make suggestion when autoload resolves to true

Ouverte
#497 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Standard: VIP-Go Type: Enhancement
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?

Options get marked as autoload=yes when being added, unless there is an explicit setting to no.

For VIP clients, we should flag when it is yes, to remind and encourage developers to consider whether it should be autoload=no, which can help with performance.

## Describe the solution you'd like

PHPCS Warning when `'yes'` or `true` is supplied or implied when calling `add_option()` or `update_option()`.

## What code should be reported as a violation?

```
add_option( 'my_option', 'my_value', '', 'yes' );
add_option( 'my_option', 'my_value', '', true ); // Can be 'yes' string or boolean.
add_option( 'my_option', 'my_value', '' );
add_option( 'my_option', 'my_value' );
add_option( 'my_option' );
update_option( 'my_option', 'my_value', 'yes' );
update_option( 'my_option', 'my_value', true ); // Can be 'yes' string or boolean.
```

## What code should *not* be reported as a violation?

```
add_option( 'my_option', 'my_value', '', 'no' );
add_option( 'my_option', 'my_value', '', false );
update_option( 'my_option', 'my_value', 'no' );
update_option( 'my_option', 'my_value', false );
```

## Additional context

Some items may indeed be valid to be autoloaded, so it's not an Error in all cases.

This may seem like a bit of noise for some cases, but I think it counts as a good reminder. We can link the error message to [our public docs about autoloading](https://wpvip.com/documentation/vip-go/working-with-wp_options/#autoloading).

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Repérez le sniff PHPCS et les tests qui gèrent add_option() et update_option() ; examinez comment sont classés les arguments omis, les valeurs littérales yes/no et les booléens. Le travail est terminé lorsque les cas yes/true/implied indiqués produisent des avertissements, que les cas no/false n’en produisent pas et que l’avertissement peut faire référence à la documentation d’autoloading fournie.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.