Inconditionnel: remaniement des instructions if imbriquées pour nettoyer le Code
Il y a beaucoup à dire sur l’é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. Aujourd’hui, j’a i partagé une pratique qui a toujours été utile dans mon kit de code: la dénaturation conditionnelle. Qu’est – 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 j’ai récemment découvert. (j’ai changé le nom de la variable et le nom de la fonction du nom du sujet à « démotime »):
Comment le Code de visualisation s’éloigne – t – il de plus en plus du côté gauche de l’écran? Ceci est principalement dû à une condition imbriquée: une instruction if dans une instruction if. (la capture d’é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 s’agit d’une 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 qu’elles confondent les flux de contrôle de code: En d’autres termes, elles peuvent à peine déterminer quel Code sera exécuté ou quand. Jetez un coup d’oeil rapide à la ligne 120 de la capture d’écran ci – dessus et dites – moi dans quelles conditions ce code fonctionnera réellement. C’est presque impossible, non? C’est le problème.À mon avis, le problème est que les phrases conditionnelles imbriquées prennent l’état comme un fardeau que vous ne pouvez ni oublier ni prendre pour acquis. Au lieu d’é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 d’un professeur d’école secondaire qui pose les questions suivantes: « Si vous êtes encore en vie, si vous êtes une personne, si vous êtes un lycéen, si vous êtes étudiant dans cette école secondaire, si vous êtes en 11e année, si vous êtes inscrit à l’histoire de l’AP, si vous étudiez actuellement l’histoire de l’AP, si je vous parle directement maintenant, Pouvez – vous expliquer ce que cela signifie d’acheter la Louisiane? »
Je déteste mon professeur parce qu’il 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 n’est 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 j’envisage d’abandonner l’école. Solution: passerelle au lieu de bulle notre professeur d’histoire 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 d’évaluer le Code qui pénètre dans plusieurs \ Comme dans la vraie vie. Un bon professeur d’histoire ne devrait pas vous demander si vous êtes humain ou si vous êtes un élève de l’école parce que vous avez réussi ces conditions
Des ions. Les conditions sont comme des portes: Si vous n’étiez pas humain, vous n’iriez pas à l’école du tout, si vous n’étiez pas l’histoire de l’AP, vous n’entendriez pas cette question dans la pièce. Vous avez passé tous les niveaux, donc tout le monde peut supposer que vous êtes la personne que vous devriez être, et l’enseignant peut aller directement à l’activité de discussion. Réalisons – le en regardant deux exemples de code simples: d’abord 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 n’exé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 vous devez vérifier \
Parce qu’il ne s’agit pas d’une 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 vous aidera à réfléchir à la façon d’écrire du Code en WordPress, en particulier la logique conditionnelle. Avec l’habitude d’utiliser 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