Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Écrire un meilleur code WordPress : PHPStan

32

Dans l’article le plus récent de cette série (qui remonte certes à un certain temps), j’ai longuement parlé de Composer et de son fichier de verrouillage.

Je recommande de lire les deux articles précédents car Composer va éventuellement jouer un rôle dans ce matériel que cet article et les futurs articles vont partager. Mais si vous choisissez de ne pas les rattraper (ou si vous connaissez déjà Composer), l’essentiel des articles précédents est respectivement le suivant :

Je ne recommande pas de vérifier le répertoire du fournisseur dans votre référentiel. Cela peut devenir un énorme répertoire plus tard, et cela peut saper tout l’objectif de Composer.

Compositeur

L’objectif est de s’assurer que tout le monde exécute la même version des dépendances du projet – pas des versions plus anciennes, pas des versions plus récentes – mais la même version.

Le fichier de verrouillage du compositeur

Cela dit, il existe de nombreuses dépendances ou packages que nous pouvons installer et qui nous aident à nous assurer que nous écrivons le code de la plus haute qualité possible.

Bien sûr, certaines d’entre elles peuvent prendre la forme de quelque chose comme des normes de codage, mais ce sont vraiment plus de règles que d’éléments d’écriture de code de haute qualité (bien que je ne pense pas qu’elles devraient être exclues de la discussion – juste laissées de côté en ce moment 🙃).

Revenons aux outils en question: Quels sont les outils qui aident à écrire du code WordPress de haute qualité? Je vais partager quelques-uns de mes favoris et je vais parler de la façon dont nous pouvons tous les exécuter sur une base de code.

Tout d’abord, regardons l’analyse statique avec PHPStan.

Meilleur code WordPress avec PHPStan

Qu’est-ce que l’analyse statique, de toute façon ?

Tout d’abord, quelques mots sur l’analyse statique. A savoir, qu’est-ce que c’est? C’est une bouchée, pour une chose:

L’analyse de code statique (également connue sous le nom d’analyse de code source) est généralement effectuée dans le cadre d’une révision de code (également connue sous le nom de test de boîte blanche) et est effectuée lors de la phase de mise en œuvre d’un cycle de vie de développement de sécurité (SDL).

L’analyse de code statique fait généralement référence à l’exécution d’outils d’analyse de code statique qui tentent de mettre en évidence d’éventuelles vulnérabilités dans le code source «statique» (non en cours d’exécution) en utilisant des techniques telles que l’analyse des taches et l’analyse des flux de données.

Analyse de code statique via OWASP

Pensez-y de cette façon : c’est un moyen d’analyser un programme pour détecter les erreurs potentielles que vous ne pouvez pas voir lorsque vous travaillez sur la base de code.

C’est-à-dire qu’il y a des problèmes, des bogues, des problèmes de sécurité, qui peuvent être présents mais que vous ne pouvez pas détecter pour un certain nombre de raisons (dont la moindre est que vous êtes trop proche du code).

Au fil du temps, cependant, la communauté du développement a appris à analyser le code, à générer des ensembles de règles et à créer des outils pour aider à trouver exactement tout ce qui précède.

Analyse statique du code centré sur WordPress

Et c’est là que PHPStan entre en jeu.

Écrire un meilleur code WordPress : PHPStan

Comme mentionné, l’objectif du package est d’identifier les erreurs ou bogues qui existent dans votre code avant que votre code ne soit utilisé par quelqu’un d’autre que les développeurs, de les mettre en évidence et de vous donner la possibilité de les corriger.

Étant donné que des outils comme celui-ci examinent une base de code (par opposition à l’exécution du code), il n’est pas toujours possible d’obtenir une image claire. Cela signifie que nous pouvons obtenir des faux positifs.

Plus à ce sujet dans un instant cependant.

Si vous souhaitez commencer à exécuter PHPStan sur votre base de code, c’est facile. Après l’avoir installé, n’oubliez pas de le configurer pour qu’il ne regarde pas dans le vendorrépertoire ou, par exemple, dans le noyau WordPress.

Au lieu de cela, demandez-lui d’examiner votre code.

Installation de PHPStan

Tout d’abord, dans votre composer.jsonfichier, ajoutez la ligne suivante dans la require-devsection :

"phpstan/phpstan": "^0.11.12"

Exécutez ensuite composer updatedans votre terminal.

Une fois installé, vous pouvez l’exécuter sur un fichier individuel, un répertoire ou un ensemble de répertoires. Si vous avez lu mes articles précédents sur l’organisation du code, alors vous savez que je suis fan de conserver la majorité du code source du projet srcpour que vous puissiez exécuter quelque chose comme ceci :

$ vendor/bin/phpstan analyse src

Cela générera une sortie basée sur ce que l’utilitaire trouve.

Rappelez-vous plus tôt quand j’ai dit qu’il pouvait trouver des choses telles que des faux positifs ? Voici un aperçu plus détaillé de ce que vous pouvez voir :

  • Arguments supplémentaires passés aux fonctions (par exemple, la fonction nécessite deux arguments, le code en passe trois)
  • Arguments supplémentaires passés aux fonctions print/sprintf (par exemple, la chaîne de format contient un espace réservé, le code passe deux valeurs à remplacer)
  • Erreurs évidentes dans le code mort
  • Comportement magique qui doit être défini.

Tout ce qui précède directement depuis le référentiel.

C’est là que les niveaux de règle peuvent faire toute la différence, même si cela peut nécessiter quelques ajustements pour l’amener à un niveau qui convient parfaitement à votre équipe ou à votre projet.

Qu’en est-il de l’analyse pour WordPress ?

Viktor Szépe a partagé cette ressource avec moi (quelque chose dont il est l’auteur, en fait) et je pense que c’est quelque chose de pertinent et d’utile. L’idée du pack est simple :

Il résout tous les problèmes que j’ai rencontrés lors de l’analyse du code pour WordPress.

Pas mal, non ?

Analysez votre code

Quel que soit votre projet, l’organisation de votre code ou le niveau auquel vous exécutez cet utilitaire particulier, le but est toujours d’améliorer le niveau de qualité du code WordPress que nous écrivons.

L’installer en tant que package Composer, puis l’exécuter sur votre srcrépertoire est un pas dans la bonne direction.

Comme indiqué précédemment, je vais partager quelques autres outils et je vais ensuite partager comment les exécuter tous sur une base de code avant de valider le code dans un référentiel.

Noter

Si vous rencontrez un problème lors de la configuration du package, Dave Mackey m’a contacté avec un problème similaire et sa solution.

Source d’enregistrement: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More