为什么WordPress被认为程序设计不佳?

Phi*_*oum 53 php wordpress

我不是PHP或意大利面条代码的粉丝,或类似的东西,但根据我的经验,WordPress工作得非常好,组织得很好,我从来没有遇到过任何难以理解的代码.文档非常彻底,任何安全漏洞都会在几秒钟内得到修复,而且"只是有效".更不用说它可以做到一切,它有一个很棒的插件系统.哦,"循环"太棒了.我对代码或主题进行简单修改时从未遇到任何问题.

你们能否举出一些你不喜欢的具体例子,或者你们的编程方式不同?我只是不明白为什么会有这么糟糕的说唱.我希望我自己的软件能够运行,并且具有尽可能多的功能,并且看起来很不错.

cee*_*yoz 59

我是WordPress的粉丝,但肯定存在妨碍编码人员尝试使用它的问题.作为一个小例子,有get_the_content()(返回)和the_content()(打印),但有get_permalink()the_permalink().然后,就是这样the_date(),因为它接受一个参数,表明你是想要打印还是返回.这种事情甚至推动了一个经验丰富的WP人员,因为你总是需要使用Google搜索 - 这说明代码中对细节的关注程度更高.

另一个明显的问题是缺乏内置缓存.它甚至曾经拥有它,但它们将它撕掉并且从未取代它.你不应该需要第三方插件来在像WordPress这样的系统中进行基本缓存,尤其是它所构建的所有其他铃声和口哨声.

然而,为了解释(据说)丘吉尔,"WordPress是最糟糕的博客系统......除了所有其他人".

  • @Finster WordPress缺少任何类型的缓存就像没有NotePad或写字板的Windows发货. (12认同)
  • 我认为这一切都是有效的,但我认为在缓存插件做得更好的时候,Wordpress会有意识地选择不复制缓存.你的论点有点像说"你不应该需要一个第三方文字处理器.Windows应该只提供一个功能齐全的文字处理器." (6认同)
  • 好的释义 (4认同)
  • @Finster - 几年前我有机会与Matt Mullenweg聊天:他明确表示由于同步问题他反对缓存.相反,他建议在问题上抛出额外的应用程序服务器和从属(只读)MySQL服务器. (3认同)

gah*_*ooa 15

多年来我在PHP/MySQL中编写了许多自定义应用程序 - 从小到大.没有花时间学习WordPress的细节,我觉得使用(引擎盖下)非常令人沮丧.

主观:

  • 非常差的命名约定
  • 执行流程很奇怪
  • 一般缺乏组织
  • 难以审核何时会发生什么
  • 等等...

他们的可用性概念很棒,对插件的支持也很棒.我只是喜欢看到系统重新设计了这些原则,但采用了严谨而清晰的开发方法.

我敢肯定,下一个人会说"不,不是,bla bla bla",但这只是我在碰到它(托管,修改)大约3次之后的意见.

  • 很抱歉恢复了非常古老的对话,但问题仍然存在。当为Wordpress开发软件时,真正让我生气的是全局状态。当今的应用程序代码被故意分为许多单独的部分,以维持代码的可维护性。WordPress不会做这种事情。除了非常差的类自动加载外,它还共享所有应用程序的全局状态,并且变得非常混乱。我实际上是在尝试给出客观的意见,但是作为后端开发人员,这只是编写非常糟糕的代码的示例。 (2认同)

Dev*_*tas 11

这肯定是一个主观的问题.根据经验,我注意到WP占用了,比其他系统或我的自定义代码更多的服务器资源.因此,我不得不将WP网站从我的服务器上移开.所以我的经验表明存在一些内存使用问题.

作为练习,尝试遍历代码,从请求的开始跟踪逻辑到页面,并查看加载了多少对象,在输出任何HTML之前调用了多少个方法.

  • "根据经验,我注意到WP占用了,比其他系统更多的服务器资源" - 从你的经验可能是真实的,直到你使用magento ... (6认同)

Cat*_*lus 8

除了已经提到的内容:

没有理智的模板系统.这些年来,他们仍然使用与HTML交织在一起的PHP代码,以及不支持i18n或l10n的默认模板(硬编码字符串,硬编码日期格式等).

多个入口点 - 也许只是我,但它很烦人.特别是当其中一些太大了.

  • 没有什么能阻止您在主题模板中使用l18n函数.我合着的主题当然也是.http://tarski.googlecode.com/svn/translations/trunk/ (2认同)