Trois paradigmes de développement: process, Object – oriented et Functional
Une bonne compréhension de ces exemples vous permet de vous sentir plus à l’aise lorsque vous écrivez votre code.
Le paradigme dont nous ne discuterons pas: déclaratif
La Programmation déclarative est donc importante pour WordPress et pour l’ensemble du Web. Mais il manque aussi un flux de contrôle logique pour des langues comme PHP et JavaScript. (cela ne veut pas dire que le CSS n’est pas compliqué, ce qui me semble souvent difficile.) Mais le fait que cet exemple soit si différent est pourquoi nous ne parlons plus de Programmation déclarative. Qu’est – ce que la programmation? L’une des façons les plus courantes d’utiliser des fonctions en PHP est en fait comme une procédure stockée qui répète la même procédure mécanique chaque fois qu’elle est appelée. Il ne s’agit pas d’une « programmation fonctionnelle », dont nous discuterons à la fin.
Le premier paradigme de programmation que les nouveaux développeurs peuvent apprendre est la programmation procédurale ou Commandante. Si vous êtes difficile, les deux sont différents. Ils sont proches de moi, c’est bon. Essentiellement, le Code procédural ou impératif est le Code qui indique directement à l’ordinateur comment accomplir les tâches que vous voulez qu’il fasse en passant.
C’est certain. Au lieu de déclarer l’état du monde (quelque chose de déclaratif comme CSS, comme nous l’avons mentionné), définissez ce que vous devez faire en faisant défiler ceci, en l’ajoutant à cela, et en mettant les résultats ici.
Une grande partie de WordPress est essentiellement procédurale, car (par exemple, les fichiers de modèles de thème) sont des ensembles d’appels directs à des fonctions PHP et WordPress très textuelles qui, ensemble, implémentent la création de pages Web. Le plus grand avantage de ce style de programmation est qu’il ne crée pas beaucoup de confusion par rapport à de nombreuses alternatives, et pour la plupart des nouveaux développeurs, il est moins probable d’être routé à travers de nombreux concepts différents et complexes. Une chose courante (et compréhensible) qui intrigue les gens (y compris moi) est que l’utilisation de la fonction s de quelque façon que ce soit ne signifie pas que vous n’avez pas programmé le processus. L’une des façons les plus courantes d’utiliser des fonctions en PHP est en fait comme une procédure stockée qui répète la même procédure mécanique chaque fois qu’elle est appelée. Il ne s’agit pas d’une « programmation fonctionnelle », dont nous discuterons à la fin.
Évaluation négative de la programmation de processus le plus grand obstacle à la programmation de processus est précisément qu’elle est l’une des méthodes de programmation les plus anciennes. Il est donc ridiculisé comme obsolète et généralement moins intéressant. Mais ce sont des plaintes plutôt douces. Je pense que des plaintes plus spécifiques sont bonnes: il est souvent difficile de penser clairement aux grands projets. L’utilisation d’un processus de nommage fonctionnel peut aider à simplifier la nature mécanique du Code de programme, mais fondamentalement, les humains et les ordinateurs ne pensent pas de la même façon, de sorte que le Code trop proche de l’apparence de la machine tend à être déroutant. Il n’y a pas d’abstraction. Un bon programme extrait quelque chose de simple d’une réalité latente plus complexe. Favorite
Exposer la lecture, par exemple $message – > was _ Read et les actions qu’il effectue en tant que message – > Destroy (). Tout cela est utile parce que nous, humains, sommes habitués à penser aux objets. Nous comprenons que les choses nommées proviennent du chaos du monde, ce qui nous permet de mieux comprendre le monde. Après tout, c’est la chaise.
L’erreur du système orienté objet est que l’objet est un mensonge. La plainte la plus forte contre oop est que l’objet est un mensonge. Fondamentalement, les machines ne peuvent pas comprendre ou penser aux objets, de sorte que certaines choses que les gens font sur des objets qui ont un sens conceptuel complet sont mal exécutées sur les machines. C’est parce que, dans les coulisses, les opérations sur l’objet peuvent effectuer n’importe quelle opération de zéro à 4000 requêtes de base de données. Cependant, en raison de l’encapsulation de l’objet (qui n’explique pas comment il fonctionne), l’appelant peut ne pas connaître le coût de la performance et peut être sévèrement puni pour son ignorance. Une autre chose qui me déprime parfois à propos de l’oop est qu’il fait souvent mal. L’oop est le paradigme dominant dans le domaine de la programmation depuis plus de 20 ans, ce qui signifie qu’il existe des modèles de pratique très différents qui appartiennent tous au même domaine. Ce n’est pas un problème conceptuel avec oop, mais dans la pratique, de nombreux programmes malveillants sont difficiles à mettre en œuvre dans un paradigme orienté objet. Avantages des systèmes orientés objet l’avantage des programmes orientés objet est que nous sommes très habitués à penser aux objets. Nous nous y sommes habitués et un bon système orienté objet semble compréhensible, même le meilleur Code de processus ne peut pas le comprendre. Message – > sendto ($user) est beaucoup plus simple que n’importe quelle alternative procédurale. Pour cette raison, ils peuvent vraiment bien lire. Dans un bon système orienté objet, les composants
Isoler et encapsuler tous ses comportements importants et transmettre ses comportements indésirables aux employés. En pratique, je viens d’introduire de nombreuses conditions préalables que la plupart des codes Oo ne remplissent pas réellement. Mais quand il l’a fait, c’était vraiment bien. Dans un bon système Oo, vous savez que lorsque les messages ne sont pas envoyés correctement, vous devez commencer par voir la classe de messages. Pas un fichier db. Php, mais classe de message. C’est puissant. (bien que vous puissiez éventuellement trouver des défauts à un autre niveau, c’est vrai…) La Programmation orientée objet est essentielle pour certaines API WordPress importantes et peut – être la requête wp \ u la plus importante. Si vous souhaitez avoir une vue d’ensemble des bases de la programmation orientée objet et un aperçu de la façon dont ces bases peuvent être appliquées dans la pratique aux requêtes wp \ U, Consultez nos leçons sur les sujets suivants: utilisation de WP _ Query qu’est – ce que la programmation fonctionnelle cet exemple est nommé d’après les fonctions au sens mathématique, comme je l’ai mentionné dans la section « processus » ci – dessus, la simple possession de fonctions n’est pas la raison pour laquelle un programme devient une « programmation fonctionnelle ». C’est parce que le nom de cet exemple provient d’une fonction mathématique. Si vous vous souvenez de la fonction mathématique en algèbre, c’est juste une déclaration de vérité sur le monde, est autonome et peut être utilisé et manipulé avec d’autres fonctions. C’est la « fonctionnalité » dont le programme a besoin. Peu de code PHP fonctionne de cette façon. Mais certains le peuvent. La chose la plus intelligente que vous puissiez voir dans WordPress est quand vous voulez filtrer ou lister des messages à longue matrice. Pour ce faire, j’ai écrit un long article sur le thème: introduction de PHP fonctionnel pour les développeurs de WordPress: utilisation de filtres et de Mappings sur la matrice post essentiellement, PHP a quelques fonctions comme Array _ Map et Array Filter où vous pouvez passer tous les éléments de la fonction et ar
La lumière est transformée par elle. Dans WordPress, il est parfois possible de changer les fonctions en add _ action et Add filter, auquel cas vous pouvez penser que vous faites un peu comme la programmation fonctionnelle. Mais la chose la plus importante qui rend le crochet WordPress inopérant est l’état. Dans la plupart des opérations WordPress (et, dans une moindre mesure, dans les filtres), vous pouvez accéder à des mondes en dehors de la fonctionnalité pour changer certains contenus (vérifier les valeurs de la base de données, ajouter des sorties aux pages, etc.), Parce que tu t’es engagé pour changer les choses. Vous ne pouvez pas dire que votre fonction est apatride (ou qu’elle n’a aucun effet en dehors de l’entrée). Par conséquent, vous ne faites pas vraiment de programmation fonctionnelle avec la compréhension la plus pure. Qu’est – ce qui ne va pas avec la programmation fonctionnelle? Toutes les opérations complexes effectuées par les programmeurs fonctionnels sont très abstraites pour moi et je me sens submergé. Je pense que la chose la plus importante qui rend la programmation fonctionnelle mauvaise, c’est que vous découvrirez bientôt que vous n’avez pas de doctorat en mathématiques ou en informatique, ni de discipline majeure en logique. Pour les programmeurs non fonctionnels, j’a I une bonne compréhension de la programmation fonctionnelle (FP). Mais il y a des mots clés importants que je ne comprends pas, et les gens parlent beaucoup de programmation fonctionnelle. Fonctions, monoïdes, etc. Ils sont plus difficiles à envelopper que les objets. Un autre inconvénient connexe est de mettre de nombreuses fonctions dans une fonction. Tout comme je ne suis pas un ordinateur, je ne suis pas un assistant mathématique. Par conséquent, toutes les opérations complexes effectuées par les programmeurs fonctionnels sont très abstraites pour moi et je me sens submergé. Je sais qu’il en va de même pour les autres paradigmes, qui ne sont qu’une courbe d’apprentissage plus large, mais il n’y a certainement rien à se débarrasser.
Sortez de la voiture. Quels sont les avantages de la programmation fonctionnelle? Les fonctions purement mathématiques sont plus faciles à comprendre que les fonctions magiques. Le plus grand avantage de la programmation fonctionnelle est que si vous avez de la discipline sur l’état, vous aurez beaucoup de plaisir. Au fur et à mesure que le monde extérieur s’éloigne de plus en plus, lorsque vous utilisez ce paradigme, vous avez peu de temps pour avoir des maux de tête (comme c’est courant dans WordPress) “comment peut – il atteindre cet état? ” Les fonctions purement mathématiques sont plus faciles à comprendre que les fonctions magiques. C’est un grand avantage: il est plus facile de penser et de comprendre le pays en étant strict avec lui – même. Il a un autre avantage: la parallélisation à grande échelle est possible. Cela signifie que puisque votre ordinateur obtient plus de noyau que de processeurs plus rapides, votre programme peut l’utiliser. Peu de programmes utilisent maintenant cette fonctionnalité, mais c’est un énorme avantage pour l’exemple. Pourquoi ces trois modèles sont – ils importants? J’espère qu’aujourd’hui, nous pourrons ramener à la maison trois points clés: les trois modèles – – les modèles fonctionnels, Oop et Procedural – sont bons et utiles pour les développeurs WordPress. Les trois paradigmes ont des avantages et des inconvénients. Vous pouvez utiliser ces trois paradigmes lors de l’écriture de PHP et Javascript pour WordPress. Il n’y a pas de paradigmes de programmation parfaits. Lorsque tout le monde semble parler d’objets, il est facile, commun et compréhensible que les nouveaux programmeurs WordPress se sentent gênés d’écrire du Code de procédure. Mais je vais utiliser des plug – ins de processus bien construits, pas des plug – ins assemblés à la hâte, indépendamment de l’avantage mental d’un bon objet. Le culte des marchandises est toujours pire qu’un bon Code de procédure. Fondamentalement, la meilleure façon d’améliorer l’écriture de code est d’essayer. Deux façons d’écrire un plug – in
Trouve ton préféré. Les opinions sont bon marché et la compréhension des compromis possibles est sous – estimée. J’espère que je vous aiderai à le faire en vous offrant d’abord quelques conseils. Bon hacker! Source de l’image: tiagonicastro, bfionline