Intégrer la qualité dans les projets WordPress un exemple pratique

L'une des meilleures choses à propos de l'apprentissage d'une nouvelle compétence en logiciel est que vous subissez souvent le processus suivant: obtenir quelque chose qui fonctionne, en apprenant quelques-unes des erreurs que vous avez commises, en peaufinant le code, puis en répétant le processus..

En fin de compte, il s’agit d’améliorer la qualité de ce que vous faites, de sorte que le résultat final soit meilleur que si vous l’aviez laissée pour la première fois..

Et, vraiment, quand il s’agit d’écrire un logiciel, l’une des choses que nous entendons et dont nous parlons souvent est qualité. Plus spécifiquement, on parle de qualité de construction dans notre logiciel. 

Mais je suppose que si vous demandez à dix développeurs quelle qualité signifie pour eux, vous obtiendrez dix réponses différentes..

Le mot "qualité" propose trois définitions:

  1. Qu'il soit bon ou mauvais,
  2. Une caractéristique ou une caractéristique de quelqu'un ou de quelque chose: quelque chose qui peut être perçu comme faisant partie d'une personne ou d'une chose,
  3. Un haut niveau de valeur ou d'excellence.

Si vous pensez un instant comment cela se rapporte aux produits que vous construisez avec WordPress, ce qui vient à l’esprit?

  • Est-ce l'organisation des fichiers qui composent votre projet?
  • Est-ce que votre code est conforme aux normes de codage WordPress??
  • Cela a-t-il à voir avec la manière dont vous avez suivi les meilleures pratiques du paradigme que vous avez choisi??
  • Peut-être que c'est tout ce qui précède; c'est peut-être quelque chose qui n'est pas répertorié. 

Quoi qu’il en soit, "qualité" peut signifier différentes choses pour différentes personnes. Mais je crois que certaines choses ne sont pas subjectives en ce qui concerne le développement WordPress.

Qualité et développement WordPress

Avant d’aller plus loin, je voudrais noter que, lorsque je cite quelqu'un, à moins que ce soit une source connue, j’aime garder la source anonyme..

La raison en est que je ne veux pas que les personnes qui lisent des tutoriels comme celui-ci soient reléguées au second plan et tentent de contredire ce qu'elles ont dit. C'est à côté du point, vous savez?

Et ça arrive. Je parle d'expérience.

Cela dit, récemment, une personne m’a abordé à propos d’un peu de code que j’avais fourni pour travailler avec les points d’accroché de WordPress lors de la création de thèmes. En bref, ils ont dit:

Dire plus de lignes de code, c'est mieux que moins, c'est quelque chose que dirait un développeur WordPress expérimenté et dur. Le moins de code, le mieux.

Pour les amateurs et ceux qui viennent d'apprendre les ficelles du développement, je peux voir à quel point cela pourrait sembler vrai. Pour ceux qui travaillent sur le terrain depuis un certain temps, vous reconnaissez probablement le problème de cette.

Je ne prétends pas que plus de code est toujours meilleur. Ce n'est pas. Au lieu de cela, je suggère qu'il y a des moments où une fonction entière est meilleure qu'une seule ligne de code.

Comment pouvons-nous intégrer cela dans notre propre travail? Comment pouvons-nous transmettre cela à ceux qui sont des programmeurs moins expérimentés? Regardons un exemple concret et voyons s'il y a quelque chose à en tirer.

Un exemple: comment les filtres donnent la qualité

Dans WordPress 4.4, la prise en charge des balises de titre a été modifiée de sorte que vous ajoutez cette prise en charge en incluant simplement la ligne suivante dans votre functions.php fichier:

Si vous ne voulez pas utiliser cette fonction, vous allez être obligé de coder en dur la Titre élément dans le modèle d'en-tête de votre thème. 

Bien sûr, il existe des plugins et des thèmes qui n'ont pas encore été mis à jour (au moment de ce tutoriel). À cette fin, il est relativement courant de voir quelque chose comme la ligne de code suivante dans les fichiers de modèle:

<?php wp_title("); ?>

Mais pourquoi quelqu'un jouerait-il avec le titre? Pensez aux plugins SEO. Ils vont souvent changer Titre éléments pour être plus convivial pour les moteurs de recherche.

Prenons un exemple concret: supposons que vous travailliez sur un thème et ses Titre élément inclut un appel à wp_title. De plus, vous voulez vous assurer que wp_title est filtrable afin que d'autres codes tels que les plugins susmentionnés puissent le mettre à jour.

Cela semble assez simple, non? Mais disons que vous voulez l'habiller un peu en incluant un séparateur et en mettant à jour sa position. Dans ce cas, vous pouvez faire quelque chose comme ceci:

<?php wp_title( '|', true, 'right' ); ?>

Ou peut-être voulez-vous aller plus loin et introduire le nom du blog et sa description. Ou peut-être que vous souhaitez configurer le titre de sorte qu'il soit différent sur la page d'accueil. 

Ensuite, vous pouvez faire quelque chose comme ceci:

<?php bloginfo('name'); ?> | <?php is_home() ? bloginfo('description') : wp_title("); ?>

En isolation, en dehors de tout plugin ou autre travail, cela a l'air bien. Il s’agit d’une simple ligne de code que les amateurs peuvent utiliser pour atteindre leur objectif ultime..

Mais que se passe-t-il lorsque quelqu'un distribue le thème? En outre, que se passe-t-il lorsque quelqu'un veut utiliser un plugin pour modifier le Titre élément?

Ça ne marchera pas.

Ce n'est qu'une des raisons pour lesquelles moins de code n'est pas toujours un meilleur code et moins de code peut être de moindre qualité.

Plus de code, plus de qualité

Pour vous assurer que l'utilisation de wp_title () est aussi flexible que possible, nous devons définir une fonction personnalisée et la filtrer à l'aide de la wp_title filtre fourni par WordPress:

= 2 || $ page> = 2) $ title = sprintf (__ ('Page% s', 'acme'), max ($ paginé, $ page)). "$ sep $ title";  return $ title; 

Le code ci-dessus est évidemment plus codé que la ligne unique de l'exemple précédent, mais il est également plus flexible.

Tout d'abord, le code vérifie si la page est rendue dans un flux RSS. Si tel est le cas, il ne renvoie que le titre spécifié. Sinon, il ajoute ensuite le nom du titre au nom spécifié. $ title chaîne. Lors de l'affichage de la page d'accueil ou de la page d'accueil, le code place la description après le séparateur..

Enfin, si l'utilisateur parcourt le site, le code ajoute le numéro de page au séparateur et au titre..

Cela fournit la fonctionnalité de base pour le rendu de l'élément title dans le thème. Ce n'est pas la méthode par défaut pour tous les thèmes, mais c'est sans doute un meilleur moyen de le faire.. 

En tant que tel, vous pouvez également personnaliser cette fonction pour l’adapter à votre convenance..

C'est la qualité?

La clé de ce didacticiel n’est pas de savoir comment configurer un filtre pour les titres, ni comment configurer des filtres, ni comment gérer les titres. outre, wp_title est obsolète, comme mentionné précédemment dans l'article.

Nous nous retrouvons avec une version personnalisée du titre. Nous donnons également aux développeurs tiers la possibilité de remplacer notre propre code..

Bien que ce soit plus de code, c'est une solution de qualité supérieure.

Conclusion

Rappelez-vous cependant: ce n'est pas toujours le cas. Parfois plus de code pouvez réduire la qualité et ce pouvez augmenter la complexité. Mais ce n'est pas le but de cet article. Peut-être serait-il préférable d'en discuter dans un autre tutoriel.

Au lieu de cela, le but de ce didacticiel est de montrer comment moins de code peut entraîner une qualité inférieure et comment plus de code peut améliorer la qualité. Mais ce n'est pas une règle absolue. Ce n'est pas censé être.

Au lieu de cela, l’intention est d’introduire un état d’esprit de réflexion sur ce qui définit la qualité. Parfois, moins de code est un code de qualité; parfois, plus de code est un code de qualité.

Lorsque vous travaillez sur votre projet, ne cherchez pas de moyens de consolider le code simplement pour réduire le code. Cherchez des moyens d'écrire du code de manière à ce qu'il soit élégant, extensible, lisible et maintenable, et surtout adapté à vos besoins.. 

Tout ce qui précède contribue ensemble à la qualité.

Si vous recherchez des exemples d'autres projets WordPress pouvant être utilisés pour examiner la qualité du code, à utiliser dans votre travail ou dans des projets clients, vous pouvez également trouver quelque chose d'intéressant sur le marché..

Si vous êtes intéressé par d'autres choses que j'ai écrites ou produites pour Envato, vous pouvez consulter mon travail sur ma page de profil et vous pouvez me suivre sur mon blog et / ou Twitter à @tommcfarlin où je parle de développement logiciel en le contexte de WordPress.

N'hésitez pas à laisser des questions ou des commentaires dans le flux ci-dessous, et je tenterai de répondre à chacun d'entre eux..