Il y a beaucoup à dire sur lamp;rsquoécriture de code propre: les gens les plus intelligents sur terre ont passé cent ans à discuter de ce problème et ils ne semblent pas se détendre. Cependant, malgré la profondeur du thème, nous, développeurs WordPress, pouvons encore apporter de nombreuses améliorations simples à la qualité du Code pour profiter de notre travail quotidien. Aujourdamp;rsquohui, jamp;rsquoa i partagé une pratique qui a toujours été utile dans mon kit de code: la dénaturation conditionnelle. Quamp;rsquoest ce que les clauses conditionnelles imbriquées? Pourquoi sont elles un problème? À quoi ressemblent les clauses conditionnelles imbriquées? Ouvrons la fonction. Un sujet de PHP que jamp;rsquoai récemment découvert. (jamp;rsquoai changé le nom de la variable et le nom de la fonction du nom du sujet à « démotime »):
Comment le Code de visualisation samp;rsquoéloigne t il de plus en plus du côté gauche de lamp;rsquoécran? Ceci est principalement dû à une condition imbriquée: une instruction if dans une instruction if. (la capture damp;rsquoécran ci dessus contient également de nombreuses boucles de foreach imbriquées qui causent ce problème, mais elles ne sont pas couvertes par cet article.) Comme il samp;rsquoagit damp;rsquoune condition de nidification profonde incorrecte, il est presque impossible de déterminer quel Code sera exécuté ou quand. Un gros problème avec les conditions imbriquées est quamp;rsquoelles confondent les flux de contrôle de code: En damp;rsquoautres termes, elles peuvent à peine déterminer quel Code sera exécuté ou quand. Jetez un coup damp;rsquooeil rapide à la ligne 120 de la capture damp;rsquoécran ci dessus et dites moi dans quelles conditions ce code fonctionnera réellement. Camp;rsquoest presque impossible, non? Camp;rsquoest le problème.
À mon avis, le problème est que les phrases conditionnelles imbriquées prennent lamp;rsquoétat comme un fardeau que ne pouvez ni oublier ni prendre pour acquis. Au lieu damp;rsquoéliminer tous les contrôles nécessaires (une seule instruction if) pour faire le travail, nous les portons avec nous: notre Code est là. Quoi?
Dans le monde réel, Cette approche de la logique conditionnelle ressemble à celle damp;rsquoun professeur damp;rsquoécole secondaire qui pose les questions suivantes: « êtes encore en vie, si êtes une personne, si êtes un lycéen, si êtes étudiant dans cette école secondaire, si êtes en 11e année, si êtes inscrit à lamp;rsquohistoire de lamp;rsquoAP, si étudiez actuellement lamp;rsquohistoire de lamp;rsquoAP, si je parle directement maintenant, Pouvez expliquer ce que cela signifie damp;rsquoacheter la Louisiane? »
Je déteste mon professeur parce quamp;rsquoil a beaucoup de conditions partout où il va. Toutes ces vérifications devraient être effectuées avant la question elle même, car si elles ne sont pas satisfaisantes, il namp;rsquoest pas logique de poser la question. Mais au lieu de cela, mon stupide professeur a insisté pour mettre ses problèmes dans un enchevêtrement de logique conditionnelle, et jamp;rsquoenvisage damp;rsquoabandonner lamp;rsquoécole. Solution: passerelle au lieu de bulle notre professeur damp;rsquohistoire crée une « bulle » de logique conditionnelle. Son code vraiment intéressant (sur les questions historiques) est profondément ancré dans ces bulles:
Bulles il est difficile de lire ou damp;rsquoévaluer le Code qui pénètre dans plusieurs
Comme dans la vraie vie. Un bon professeur damp;rsquohistoire ne devrait pas demander si êtes humain ou si êtes un élève de lamp;rsquoécole parce que avez réussi ces conditions
Des ions. Les conditions sont comme des portes: namp;rsquoétiez pas humain, namp;rsquoiriez pas à lamp;rsquoécole du tout, si namp;rsquoétiez pas lamp;rsquohistoire de lamp;rsquoAP, namp;rsquoentendriez pas cette question dans la pièce. Vous avez passé tous les niveaux, donc tout le monde peut supposer que êtes la personne que devriez être, et lamp;rsquoenseignant peut aller directement à lamp;rsquoactivité de discussion. Réalisons le en regardant deux exemples de code simples: damp;rsquoabord le style bulle, puis le style passerelle.
Erreur: le style de bulle $est _ first thing Working = true $ U second _ thing Working = true $ U Third u thing u Working = true $ U Fourth _ thing Working = true If ($is _ first thing Working = = True) {if ($is second thing Working = = True) {if ($is Third thing Working = = True) {return to
La méthode Bubble demande si les conditions critiques sont vraies et namp;rsquoexécute le Code que si elles sont vraies. La méthode Gateway demande si la condition importante est fausse et, si elle est fausse, envoie immédiatement une commande de sortie pour chaque condition. La méthode Bubble force la nidification parce que devez vérifier
Parce quamp;rsquoil ne samp;rsquoagit pas damp;rsquoune bulle, et une fois que nous aurons franchi la porte, nous pourrons avancer avec confiance.
En plus de l’amour conditionnel, j’espère que cela aidera à réfléchir à la façon d’écrire du Code en WordPress, en particulier la logique conditionnelle. Avec lamp;rsquohabitude damp;rsquoutiliser des méthodes de passerelle pour traiter les conditions, mon code est plus concis et plus agréable à écrire. Merci pour votre lecture! Source: studio de photographie
Inconditionnel: remaniement des instructions if imbriquées pour nettoyer le Code