Appuyez sur cette touche: l & # 39; L’importance des outils modernes et des tests automatisés dans le développement de WordPress par Josh Pollock
Bienvenue sur le podcast \
Josh Pollock: Merci. Merci de m’avoir invité. Comment ça va? DV: bien, bien. Je suis vraiment excité. Merci d’être venu. Avant l’enregistrement, nous avons discuté que vous étiez le wordpress Pollock le plus célèbre de tous les pollocks, n’est – ce pas? JP: Jackson Pollock est moins connu que Jackson Pollock, mais c’est pas un DV: pas aussi célèbre que WordPress comme vous. Donc je pense que vous avez Jackson là – Bas. JP: pas vrai? C’est exact. Mais je suis fan de lui. C’est bon d’étudier. Mais pour ceux qui écoutent, Josh va parler aujourd’hui. Josh vient de plusieurs domaines différents, mais se concentre particulièrement sur les machines plug – in. Nous en discuterons un peu, mais nous parlerons aussi de ses idées sur la raison pour laquelle les outils de développement modernes et les tests automatisés sont si importants pour le développement de WordPress. Donc, si vous êtes un cow – boy ou un programmeur cow – boy girl, Josh va parler de pourquoi il y a un autre chemin
J’ai contribué à environ trois points. DV: Oui, en 2011, ce sera après le type de poste personnalisé. L’entrée dans WordPress sera donc un moment excitant. Je crois que j’ai fait 237 épisodes bizarres. Vous êtes la première histoire sur les origines de WordPress. Com. Donc je pense que vous avez peut – être cette particularité, et tous ceux que j’ai interviewés au fil des ans, mais vous avez bien commencé là – Bas. Dans la blogosphère. Puis il est rapidement passé au développement, parce que c’était très intéressant. J’ai mentionné les machines plug – in plus tôt cette année – là, pouvez – vous nous dire ce que font les machines plug – in et ce que vous y faites?
JP: Oui, donc c’est un nouveau produit que je développe, vous savez, je veux dire, c’est mon solo. Je suis en train de le construire maintenant, comme je suis un développeur libre, et entre les parties de l’histoire, j’ai rencontré des gens qui ont développé un plugin appelé Cutter form through POD dans une entreprise qui l’a entouré pendant un certain temps. Puis j’ai travaillé dans l’espace WordPress et maintenant je suis un développeur libre. La plupart du temps, je crée des plugins wordpress pour les sites WordPress. Comme si je n’étais pas la personne dont vous vouliez parler, j’avais besoin de créer un site Web pour mon entreprise. Comme si j’allais construire une fonctionnalité intéressante pour ça. D’autres vont construire un thème ou autre chose pour nous, et pour mon projet, j’ai réfléchi à la façon de démarrer ce plugin? Par exemple, je veux avoir des blocs, et je veux m’assurer que j’utilise des scripts WordPress, tels que les nouveaux outils utilisés pour compiler le code JavaScript, y compris le Code React, et que son fonctionnement est compatible avec wordpress. Pour l’instant. C’est la norme WordPress. C’est comme si j’avais terminé mon dernier projet encore et encore.
DV: C’est le début de tous les grands logiciels, n’est – ce pas? JP: Oui. Donc ce genre de chose conduit
Je l’appelle maintenant Connector, un outil pour faire quelque chose. Tout d’abord, il aide à démarrer le plug – in, tout comme il crée tout le Code dont vous avez besoin avec toutes les Conventions de nommage correctes dans les dépendances, en utilisant le compositeur de l’autoloader PHP dans les dépendances ou en utilisant les scripts WordPress dans les blocs. Toutes ces choses différentes. J’ai été obsédé par le développement de la partie mobile du bogue, les tests automatisés, la création du bon fichier zip qui contient tous les bons fichiers que vous voulez, mais pas ceux que vous portez que je ne veux pas. Comme les tests que vous installez. Je suis donc en train d’enregistrer la machine, un outil complet pour démarrer le plug – in, ajouter des fonctionnalités pour le plug – in, et j’ai besoin d’ajouter un bloc et une page de menu de données, puis de créer la version finale du paquet qui peut accéder au site WordPress.
DV: et soumettre le cadre de développement du plug – in. Je pense que si je devais, par exemple, le décrire en quelques mots. C’est ça? JP: Super. Je vais le noter. Non, non, c’est pourquoi j’aime aller podcast, comme si j’étais vous. Vous avez une bonne façon de le simplifier, comme si c’était un cadre de développement de plug – in WordPress, comme si c’était un service hébergé et CLI que vous pouvez utiliser pour avoir une interface utilisateur où vous pouvez cliquer, comme si vous vouliez utiliser un type de post personnalisé, je veux utiliser des blocs, et quand vous êtes dans le plug – in, Comme vous le savez, tapez des raccourcis tels que la machine plug – in, plug – in, licence zip, fichier zip de poche.
DV: ce genre de choses. Donc j’aime beaucoup le logiciel, bien sûr, il vient de la demande, d’une certaine manière habituelle, il est intéressant d’entendre l’histoire de l’origine de la machine plug – in, et j’apprécie que vous vous en teniez toujours à elle, mais d’une certaine façon, vous êtes sorti, vous êtes une méthode native, et votre façon
Chaque puce de zalo, tout en parlant de votre logiciel moderne préféré, vous savez, installez des paquets et gérez les dépendances à partir de là, puis lancez votre propre suite de test. Vous semblez savoir que si vous n’avez pas fait tout ce travail, vous devez apprendre l’automatisation et ce que vous faites avec le logiciel que vous créez. Je vois que c’est un grand défi pour beaucoup de gens. Mais je me demande comment ce voyage s’est passé et peut – être comment les gens peuvent s’en sortir. Faisons une pause. On revient tout de suite. C’est l’heure de la pause publicitaire. Restez à l’écoute. Et appuyez dessus tout de suite. En plus de tout le monde, Bienvenue sur le podcast W emr de la communauté WordPress. Nous discutons avec Josh Pollack de l’importance des outils modernes, des tests automatisés et du développement WordPress. Josh, juste avant la pause, tu m’expliquais les outils modernes. Dans une certaine mesure, vous avez examiné la liste des composantes clés de la TI. Vous continuez à mettre l’accent sur l’automatisation avant de partir et sur la nécessité pour les gens d’apprendre la fonctionnalité des méthodes et des outils d’automatisation. C’est un défi pour vous? Comment avez – vous commencé à adopter ce développement?
JP: Eh bien, oui, tout à fait. Je suis un geek de type, les gars. Je déteste cette partie. Je suis content. Mais quand j’ai essayé d’écrire une histoire, mon cerveau était dans l’espace, et j’ai parlé à un client qui avait besoin que ça ressemble à ça et qu’il la mette ici. Je veux écrire du Code PHP et JavaScript. Je ne veux pas écrire un test automatique ou configurer NPM, même si je suis un nerd. Quand je fais du vrai travail dans l’espace cérébral, je ne veux pas y faire face. J’ai rejoint, donc ça a toujours été un défi pour moi parce que je suis intéressé par les deux, mais comme tout le monde, dans V
Je suis en train d’écrire des tests automatisés pour décrire comment il fonctionne maintenant, et si vos changements font échouer l’un des tests, vous interrompez la sauvegarde, vous savez, corrigez l’erreur au lieu de l’envoyer à l’utilisateur. C’est une autre situation, comme la vôtre, où vous devez satisfaire vos clients et avoir un produit stable. DV: Eh bien, ce n’est pas très intéressant parce que nous avons beaucoup discuté dans WordPress ces derniers temps, comme Rob Stinson, un de mes collègues de WP Engine a souligné que les choses simples deviennent de plus en plus faciles dans WordPress, comme les éditeurs de blocs, les choses difficiles deviennent de plus en plus difficiles, Tout comme la création d’un plug – in, vous savez, il y a une approche de développement plus avancée que par le passé, et même la réponse intégrée n’est pas comme l’utiliser comme structure. Ça a l’air réel. Il semble que l’avantage réside dans votre temps, en particulier en ce qui concerne les tests automatisés, etc., vous n’avez pas à re – coder ce que vous envoyez endommagé, et j’imagine aussi comment vous ou votre client, si vous expédiez, comment garder votre emploi, beaucoup de changements substantiels, et supposons que c’est aussi un avantage, comme s’il y avait un avantage financier. JP: Oui, comme si j’étais quelqu’un dans cette voiture. Ou c’est une sorte de blague derrière la machine à brancher. C’est comme si j’étais ce nom. Je ne suis pas douée pour toujours faire la même chose. C’est exactement pareil. Justification C’est pourquoi nous utilisons des ordinateurs. Je vais te montrer comment le gérer. Appelons ça le Code. Et puis nous l’avons exécuté encore et encore, croyant que les ordinateurs feraient la même chose. Encore et encore, de la même manière, c’est pour moi, et je ne veux pas m’inquiéter de ce qui se passerait si le changement que j’ai fait interférait, afin que je puisse le tester manuellement à chaque fois exactement de la même manière, et ce que j’ai dit.
Ils ont couvert l’examen en entier. Justification Je pense que c’est une façon étrange de gérer ça, parce que je n’ai rien fait. Bien sûr, tu n’auras rien pour ça. Vous n’avez pas écrit les tests, vous savez, les tests, mais les tests sont utiles, même s’ils ne couvrent pas tout. Je pense que ce qui inquiète vraiment les gens, c’est que je n’ai pas toute la couverture de l’examen. Si je n’écris que quelques tests. C’est comme si c’était le cas, oui, mais tu es un peu plus près de ça. Tu commences. Vous avez l’occasion d’apprendre comme Tesco, donc, par exemple, j’ai un plug – in que j’ai écrit pour le client et qui a ajouté un raccourci. C’est comme s’il l’avait fait. Donc je vous écris pour vous dire que si vous n’êtes pas encore connecté, il affichera un message sur la connexion. J’ai donc écrit deux tests, les deux appelant simplement la fonction qui génère le Code court pour m’assurer qu’il ne génère pas d’erreurs. Ce sont les tests les plus détaillés au monde. Mais quand je les ai soumis pour la première fois après la première étape de l’écriture des plug – ins de test, j’ai eu beaucoup d’erreurs, juste en exécutant ces tests, comme dans le processus de génération de code court, j’ai produit beaucoup d’erreurs PHP, et j’ai pu travailler et les faire disparaître. Cela me donne confiance en l’avenir, et si c’est le cas, l’une des trois ou quatre parties différentes de ce code Court se brisera. Il va échouer à l’examen. DV: il semble que vous envisagiez les fonctionnalités clés du logiciel que vous avez créé, identifiez ces fonctionnalités clés et écrivez des tests. Autour de ces problèmes, commencez à isoler les problèmes possibles dans le logiciel. Est – ce juste? JP: Je voudrais dire pourquoi, oui, parce que cela a commencé avec deux tests qui ont montré que quelque chose était cassé, comme une bonne couverture de test. Vous voulez tester chaque pièce. Du projet. C’est comme si un test avait échoué, et tu as dit, OK, ça me dit ce que je devrais faire
Une culture de tests automatisés qui commence à prendre racine est l’idée qu’il devient plus difficile de citer des choses difficiles, comme la création d’outils modernes. Vous avez également mentionné une exigence, mais aussi le concept d’essais automatisés. Vous sentez – vous enraciné dans WordPress ou vous sentez – vous toujours au courant de l’installation de 5 minutes et du site de 10 minutes? JP: Eh bien, ça dépend du projet, n’est – ce pas? C’est comme si quelque chose clochait, comme si tu pouvais brancher la machine. Com, c’est comme si le seul site avec wordpress était en construction. Je n’ai rien sous contrôle de version. Il n’y a pas de clients comme ça, ni de code personnalisé comme ça. J’aime passer à Hello Dolly. Justification C’est comme si c’était prêt. Mais je pense comme si je travaillais dans une agence. Toutes les distributions sont automatisées, non? Tout est vérifié dans le contrôle de version, en utilisant le flux de travail pull request. Le site est ensuite distribué automatiquement lorsque vous vous joignez à la branche. Il est devenu plus facile et il y a plus d’outils pour le faire. Si vous construisez un site complet, vous savez qu’il y a plus d’hôtes qui le supportent et qu’il existe des moyens documentés de le faire et de le déployer automatiquement par type. Je pense que c’est un grand premier pas, car c’est l’occasion de normaliser cette partie. Puis, vous savez, dans ce tuyau, il a commencé à ajouter des tests. Je pense que de plus en plus de gens le font. Ce matin, j’ai utilisé un client FTP pour faire glisser des fichiers sur le serveur parce que parfois c’est la seule façon. Je crois que les choses vont mieux, mais ce n’est pas assez facile pour les gens. À mon avis, cela ne semble pas être le cas, car, comme le compositeur, il ne s’agit pas d’un concept ou d’une impression autochtone, ce qui le rend plus difficile ou NPM. Je pense qu’il y a encore beaucoup à laver.
– Oui. Ce n’est pas une bonne façon de commencer à interagir avec les clients. Mieux vaut dire hey, notre vérification automatique a révélé que la dernière mise à jour a interrompu cette section et nous l’avons réparée. DV: Je me souviens de tous les événements de flux de travail modernes que j’ai faits au fil des ans. Je pense que personne n’a jamais été introduit dans ce concept. Il est vraiment intelligent. Ce serait génial. Josh, merci beaucoup de vous joindre à nous aujourd’hui. JP: s’il vous plaît. Merci de m’avoir invité. DV: Si vous voulez en savoir plus sur ce que Josh a fait pour élargir votre voyage de développeurs WordPress modernes, consultez pluginmachine. Merci d’avoir écouté les podcasts des communautés WordPress et wmr. Voici votre invité, David Vogel Boel. Je soutiens la communauté WordPress par mon rôle dans WP engine. J’aime amener les meilleurs de la communauté dans les médias chaque semaine.