Le noyau WP, de nombreux plugins WP et les normes de codage WP eux-mêmes utilisent une "application très généreuse" du Spacecaractère (pas pour le retrait, mais "à l'intérieur" des parenthèses et des crochets). Cela semble être unique à Wordpress - ce style / philosophie ne semble pas être présent dans d'autres projets similaires, PHP ou autre.
Pour plus d'informations sur cette approche, voir: https://make.wordpress.org/core/handbook/coding-standards/php/#space-usage
Exemple: foreach ( (array) $foo as $bar ) { ...
Je me réfère à l'espace après foreach, après le premier (
et avant la finale )
(et d'autres espaces similaires montrés dans "Space Usage" sur le lien ci-dessus).
Ce style me semble inutile - il nécessite plus de frappe et (opinion) rend l'analyse du code visuellement plus difficile. (/ Opinion)
Mon désir n'est pas de débattre si ce style est une bonne idée. Au contraire, je veux simplement comprendre les raisons pour lesquelles c'est le style recommandé. Même les commentateurs des normes de codage WP sont curieux:
Les réponses apportées à la question de MK Safi sont essentiellement:
- Pour la lisibilité
- Statu quo (alias «C'est comme ça»)
Mon raisonnement pour demander est que personnellement je ne vois pas beaucoup de valeur à l'adoption des normes de codage WP (concernant "l'utilisation de l'espace") dans nos projets internes uniquement. Cependant, je suis curieux de savoir s'il me manque quelque chose.
Y a-t-il des raisons au-delà des deux énumérées ci-dessus, ostensiblement valides ou non, pour suivre le style «d'utilisation de l'espace» de Wordpress?
la source
Réponses:
Resoning
En ce qui concerne les "espaces blancs" (que ce soit des tabulations ou des espaces): c'est simplement une préférence personnelle qui collait au projet.
Les normes de codage WP imo sont un gâchis et peuvent être ignorées - tant que vous ne contribuez pas au noyau, ce qui est
Alternatives
Il vaut mieux s'en tenir aux normes PSR (à savoir: 2) ou à des trucs comme les normes Symfony (ou juste les vôtres).
Augmentation des performances et outils
Il n'y a aucun profit à avoir une norme de codage (à part en avoir une à partager et la minorité qui la déteste, tandis que le reste la dicte) ou à avoir plus ou moins de tabulations ou d'espaces. Dans le cas où vous vous inquiétez de l'espace disque inutile utilisé ou des programmes peut-être plus lents, vous pouvez toujours compresser votre code (voir le projet GitPHPHooks ) lors de la validation. L'avantage que vous obtiendrez sera d'environ 5% maximum de l'espace de fichier d'origine, à peu près égal à ce que la compression / minification de la syntaxe HTML vous donne. Il existe des outils de minification Node.js disponibles via npm pour cela.
Ce que j'ai personnellement trouvé vraiment utile, c'est le PHP Linter et le _PHP Mess Detector. J'ai incorporé les deux dans la bibliothèque GitPHPHooks, donc je n'ai pas à penser ou à m'en soucier.
la source
Les espaces après les points sont normaux, par exemple
$baz . '-5'
, ce style est utilisé dans de nombreuses normes de codage pour les opérateurs (y + z
).Ceci est fait pour améliorer la lisibilité, par exemple l'un d'eux est plus lisible que l'autre.
Cela devient encore plus évident lorsqu'il est entouré d'un autre "code".
Quant aux espaces autour des parenthèses,
( 1, 2, 3 )
je n'en ai aucune idée, je suppose que l'argument est également pour la lisibilité.Cela peut être déroutant car les normes WordPress elles-mêmes ont des exemples avec des parenthèses dans les commentaires qui n'ont pas d'espaces et la base de code elle-même est source de confusion avec certaines parties ayant des espaces et d'autres pas (voir capture d'écran ci-dessous) même dans la même fonction.
La plupart des normes PHP font en fait le contraire d'un appel à .. les parenthèses devraient étreindre leur contenu. En fait, la plupart des normes de codage pour d'autres langues l'écrivent comme
(1, 2, 3)
suit : c'est donc un peu mystérieux pourquoi WP le fait de cette façon.Voici un exemple à comparer à partir d'une fonction WordPress.
Version plus grande à comparer: http://i.imgur.com/nTEbV7v.jpg
Je préfère celui de droite, surtout quand on regarde un plein écran de code, mais c'est une préférence personnelle.
la source
.
espacement est logique pour moi, comme.
c'est vraiment juste un opérateur binaire, tout comme+
ou-
. Vos pensées sur les parenthèses "étreignant" leur contenu est exactement la raison pour laquelle j'ai posé cette question. Ce comportement, ainsi que les règles encore plus étranges comme celles pour les crochets (WP dit d'utiliser$foo['bar']
et$foo[ $bar ]
) sont exactement la raison pour laquelle j'ai posé cette question. :)