53 votes

Pourquoi WordPress est-il considéré comme mal programmé ?

Je ne suis pas un fan de PHP ou de code spaghetti, ou de quoi que ce soit de ce genre, mais d'après mon expérience, WordPress fonctionne étonnamment bien, il est bien organisé, et je n'ai jamais rencontré de code difficile à comprendre. La documentation est incroyablement complète, toutes les failles de sécurité sont corrigées en quelques secondes, et tout fonctionne. Sans oublier qu'il fait TOUT et qu'il dispose d'un système de plug-in génial. Oh, et "the Loop" est génial. Je n'ai jamais eu de problèmes pour effectuer de simples modifications du code ou des thèmes.

Pouvez-vous donner des exemples précis de ce que vous n'aimez pas ou de ce que vous auriez programmé différemment ? Je ne comprends pas pourquoi il a une si mauvaise réputation. J'aimerais que mon propre logiciel fonctionne aussi bien, ait autant de fonctionnalités et soit aussi beau.

59voto

ceejayoz Points 85962

Je suis un fan de WordPress, mais il y a certainement des problèmes qui empêchent les codeurs d'essayer de travailler avec. Pour ne citer qu'un exemple, il y a get_the_content() (retours) et the_content() (impressions), mais il y a get_permalink() y the_permalink() . Ensuite, il y a juste the_date() car il accepte un argument indiquant si vous voulez qu'il imprime ou retourne. Ce genre de chose fait fuir même une personne expérimentée dans le domaine de la programmation, car il faut toujours chercher l'utilisation sur Google - et cela témoigne d'un manque d'attention aux détails dans le code.

Un autre problème flagrant est l'absence de mise en cache intégrée. Elle en disposait même auparavant, mais elle l'a supprimée et ne l'a jamais remplacée. Vous ne devriez pas avoir besoin d'un plugin tiers pour avoir une mise en cache de base dans un système comme WordPress, en particulier avec toutes les autres cloches et sifflets qu'il intègre.

Pour paraphraser (soi-disant) Churchill, cependant, "WordPress est le pire système de blogging... à l'exception de tous les autres".

15voto

gahooa Points 38006

J'ai écrit de nombreuses applications personnalisées en PHP/MySQL au fil des ans, des plus petites aux plus grandes. N'ayant pas pris le temps d'apprendre les détails de WordPress, je trouve qu'il est très frustrant de travailler avec (sous le capot).

Subjectivement :

  • Conventions de dénomination très médiocres
  • Le flux d'exécution est bizarre
  • Manque général d'organisation
  • Difficile de vérifier ce qui se passe quand
  • etc...

Leur conception de la convivialité est excellente et la prise en charge des plugins l'est également. J'aimerais simplement que le système soit remanié selon ces principes, mais avec une méthodologie de développement disciplinée et claire.

Je suis sûr que le prochain gars dira "non, bla bla bla", mais ce n'est que mon opinion après l'avoir rencontré (hébergement, modification) environ 3 fois.

11voto

Devin Ceartas Points 3719

C'est une question subjective, c'est sûr. Par expérience, j'ai remarqué que WP prend beaucoup, beaucoup plus de ressources serveur que les autres systèmes ou mon code personnalisé. J'ai dû déplacer des sites WP hors de mes serveurs en conséquence. Mon expérience suggère donc qu'il y a des problèmes d'utilisation de la mémoire.

À titre d'exercice, essayez de parcourir le code, en suivant la logique depuis le début d'une requête jusqu'à une page, et regardez combien d'objets sont chargés, combien de méthodes sont appelées avant que le moindre HTML ne soit affiché.

8voto

Cat Plus Plus Points 53385

En dehors de ce qui a déjà été mentionné :

Aucun système de modélisation sensé. Toutes ces années et ils ont toujours du code PHP entrelacé avec le HTML, et des modèles par défaut qui ne prennent pas en charge l'internationalisation ou l'internationalisation (chaînes de caractères codées en dur, formats de date codés en dur, etc.)

Points d'entrée multiples - peut-être que c'est juste moi, mais c'est ennuyeux. Surtout quand certains d'entre eux sont beaucoup trop grands.

4voto

Matt Costa Points 31

Pouvez-vous donner des exemples spécifiques des exemples spécifiques de ce que vous n'aimez pas ou ce que vous auriez programmé différemment ?

J'aurais ajouté d'autres commentaires.

Par ailleurs, la version la plus récente de Wordpress a introduit un morceau de code labyrinthique qui refuse l'accès aux pages qui.. : 1. Ne sont pas dans un menu ou un sous-menu 2. Ne sont pas dans la variable $_registered_pages.

De nombreux plugins pour des versions antérieures de Wordpress ont été cassés par cette nouvelle mesure de sécurité.

Enfin, les sessions. Wordpress fait de son mieux pour ne pas vous gêner en traitant toutes les données de session d'une manière distincte de la variable $_SESSION intégrée à PHP, mais il ne vous donne pas la possibilité de démarrer la session PHP, vous devez l'ajouter vous-même au programme principal. Je n'ai pas encore trouvé de documentation qui nous permettrait, à nous hackers de WP et aux auteurs de plugins, de tirer parti de la session WP préexistante.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X