首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >说真的,我应该写糟糕的PHP代码吗?

说真的,我应该写糟糕的PHP代码吗?
EN

Stack Overflow用户
提问于 2008-10-09 14:50:10
回答 16查看 5.3K关注 0票数 18

我最近正在做一些PHP工作,在我看到的所有代码中,人们倾向于使用很少的方法。(他们也倾向于使用很少的变量,但这是另一个问题。)我想知道为什么会这样,我发现“带一个参数和一个空函数体的函数调用与执行7-8 $localvar++操作的时间差不多,类似的方法调用当然是大约15个$localvar++操作”这里

即使在编译和缓存PHP页面时也是这样吗?为了提高效率,我应该尽量避免使用方法吗?我喜欢在代码块被重复的地方用方法编写组织良好的、人类可读的代码。如果有必要编写没有方法的平面代码,是否有程序可以“内联”方法体?这样的话,我就可以编写好的代码,然后在部署之前修改它。

顺便说一下,我一直在看的代码是来自Joomla1.5内核和几个WordPress插件,所以我假设他们是知道自己在做什么的人。

注意:--我很高兴每个人都跳到这个问题上来讨论优化,在一般的中,但是实际上,我们谈论的是在解释语言中的优化。至少我们谈论PHP这一事实的一些暗示是很好的。

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2008-10-09 17:53:27

我认为Joomla和Wordpress并不是最好的PHP代码示例,无意冒犯。我对从事这方面工作的人没有任何个人偏见,他们如何让人们拥有一个网站/博客是很棒的,我知道很多人把所有的空闲时间都花在了这两个项目上,但是代码质量相当差(无意冒犯)。

如果您不相信我的话,请回顾过去一年中的安全公告;同时假设您正在从这两种代码中的任何一种中寻找性能,那么它们的代码也不会在这两者中脱颖而出。所以这绝不是一个好代码,但Wordpress和Joomla都擅长于前端--非常容易使用,人们有一个网站,可以做一些事情。

这就是为什么他们如此成功的原因,人们不是根据代码质量来选择它们,而是根据他们能够做的事情来选择它们。

要回答你的性能问题,是的,所有的好东西(函数、类等等)都是真的。放慢你的应用程序。因此,我想如果您的应用程序/脚本都在一个文件中,那么就这样吧。那么,可以随意编写糟糕的PHP代码。

一旦展开并开始重复代码,就应该考虑编写可维护代码所带来的代价(在速度上)。:-)

IMHO的这种权衡是相当小的,因为有两件事:

  1. CPU 很便宜
  2. 开发人员并不便宜

当您需要在六个月后返回您的代码时,请考虑一下,如果那些nano秒节省了运行它,那么当您需要修复一个讨厌的bug时(因为重复的代码,需要修复三、四次),那么仍然需要加起来。

您可以做各种各样的事情来使PHP运行得更快。通常,人们推荐缓存,例如APC。装甲运兵车真的很棒。它在后台为您运行各种优化,例如缓存PHP文件的字节码,并在userland中为您提供保存数据的函数。

因此,例如,如果每次运行该脚本时解析一个配置文件,那么i/o非常关键。使用简单的商店()取(),您可以将解析的配置文件存储在基于文件的或基于内存的缓存中,并从其中检索它,直到缓存过期或被删除。

当然,APC不是唯一的缓存。

票数 57
EN

Stack Overflow用户

发布于 2008-10-09 14:53:13

你需要多少“效率”?你测量过了吗?过早的优化是万恶之源,没有衡量的优化总是过早的。

还记得优化俱乐部规则

  1. 优化俱乐部的第一条规则是,你不能优化。
  2. 优化俱乐部的第二条规则是,你不会在没有测量的情况下进行优化。
  3. 如果您的应用程序比底层传输协议运行得更快,优化就结束了。
  4. 一次一个因素。
  5. 没有市场营销,没有市场营销计划。
  6. 只要有必要,测试就会继续。
  7. 如果这是你在优化俱乐部的第一晚,你必须写一个测试用例。
票数 75
EN

Stack Overflow用户

发布于 2008-10-09 14:52:53

您应该看到对这个问题的回答:开发人员应该首先考虑可读性还是性能吗?

总结一下大家的共识:除非您知道(通过测试/分析)您的性能需要在某些特定领域得到解决,否则可读性要重要得多。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/187594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档