【发布时间】:2008-10-09 14:50:10
【问题描述】:
我最近在做一些 PHP 工作,在我看到的所有代码中,人们倾向于使用很少的方法。 (他们也倾向于使用很少的变量,但这是另一个问题。)我想知道为什么会这样,我发现这个注释“带有一个参数和一个空函数体的函数调用与执行 7-8 $ 所花费的时间大致相同localvar++ 操作。类似的方法调用当然是大约 15 个 $localvar++ 操作"here。
这是真的吗,即使 PHP 页面已被编译和缓存?我应该尽可能避免使用方法来提高效率吗?我喜欢编写组织良好、人类可读的代码,其中包含重复代码块的方法。如果需要编写没有方法的平面代码,是否有任何程序可以“内联”方法体?这样我就可以编写漂亮的代码,然后在部署之前将其丑化。
顺便说一句,我一直在查看的代码来自 Joomla 1.5 核心和几个 WordPress 插件,所以我认为他们是知道自己在做什么的人。
注意:我很高兴每个人都跳到这个问题上来讨论一般情况下的优化,但实际上我们是在讨论解释语言中的优化。至少可以暗示我们正在谈论 PHP 的事实。
【问题讨论】:
-
PHP 与否,如果没有某种衡量标准,就不可能说出你应该做什么或不应该做什么。
-
实际上,您在帖子末尾做了一个错误的假设。一些最流行的 PHP 项目的代码不那么出色。想到了 OSCommerce、Wordpress 和 Drupal。流行!=精心设计。
-
任何已经存在 4 或 5 年的 PHP 应用程序都是用一种与今天的 PHP 完全不同的语言编写的。 OO 只是一个承诺的暗示。
-
还要考虑心理影响:与编写可能执行得更快的丑陋代码相比,编写可能执行速度较慢的漂亮代码会感觉更好。让人类对自己所做的事情感觉良好很重要。
-
我会将 Drupal 从不太出色的代码中排除。 OO 不是一切:drupal.org/node/547518 .
标签: php optimization code-generation translation