我正在创建一个PHP文件,它执行2个mysql数据库调用,其余的脚本是if语句,例如file_exists和其他简单变量。到目前为止,我在这个文件中有大约2000行代码。
如果语句为真,是否更好的做法是包含一个单独的文件;或者只是直接在if语句中输入代码?
它们是PHP应遵守的单个文件的最大行数吗?
答案 0 :(得分:7)
我想说不应该有任何与你的php文件中的行数有关的性能问题,它可以像你需要的那样大。
现在,对于模式和最佳实践,我会说你必须自己判断,我看到了许多组织良好的数千行文件和许多实际上很小且难以阅读的文件。 我的建议是:
答案 1 :(得分:3)
另外,请记住,包含(很多)文件会降低代码的执行速度。
答案 2 :(得分:2)
行数不是衡量效果的良好指标。确保您的代码有效组织,分为逻辑类或块,并且不将不相关的代码组合到单个模块中。
像PHP这样的语言的一个问题是,除了一些创意缓存之外,每个包含文件的每一行都必须被标记化,通过解析树压缩并在每次请求主机页面时变成有意义的指令。像.NET和Java这样的编译平台不会受到这种性能杀手的影响。
此外,由于其他海报中的一个提到MVC作为保持文件简短的一种方式:良好的代码组织是经验和常识的功能,并且绝不依赖于任何特定的模式或体系结构。 MVC很有意思,但不是这个问题的解决方案。
答案 3 :(得分:1)
您需要关注线数吗?不,不一定。只需确保您的代码有条理,高效,而不是不必要的冗长。
答案 4 :(得分:1)
2k线对我来说听起来太多了......虽然这取决于你所遵循的代码风格,例如:许多线路,许多小函数或良好的api-contract注释都可以增加大小,尽管它们是很好的做法。好的代码格式也可以增加行。
关于PHP,最好知道:它是2k行只有一个类还是只有一个大包含非OOP PHP代码?它是否与模板语句和程序逻辑(我经常在PHP代码中找到)混合使用?
通常我不计算这些行,什么时候拆分。他们只是习惯了。如果代码混乱,我会做出反应和重构。我们最近还在研究团队编写的一些代码,我可以看到一些模式:
仍然取决于我的代码类型。例如,如果涉及到逻辑负载(if / else / switch / for),则每个函数的LOC减少。如果几乎没有涉及任何逻辑(简单的愚蠢单路径代码语句),则限制会增加。最后,最重要的规则是:人类是否理解代码。她/他是否能够很好地阅读它。
答案 5 :(得分:0)
这没关系,只要您已正确记录您的代码,尽可能模块化,并检查任何低效率。你可能有10,000行文件。虽然我通常会为应用程序的每个部分分配大约500-1000。
答案 6 :(得分:0)
您可能希望阅读像Clean Code by Bob Martin这样的书。以下是该书中的一些小块:
使用PHP,如果你没有使用Class方法;你会遇到重复问题。帮个忙,做一些关于这个问题的阅读;它将为您节省更多的时间进行扩展和维护。
答案 7 :(得分:0)
我不知道任何有用的方法来分割那么简单的代码,特别是如果它们在语义上都属于一起。
考虑是否可以通过重构来消除某些代码可能更有趣。例如,如果您经常使用具有略微不同变量的特定检查组合,则可能有助于将检查组合外包到函数中并在适当的地方调用它。 我记得曾经看过一个项目,大部分内容写得很好,但它有一个问题。例如,解析其配置文件的代码重复如下:
if (file_exists("configfile")) {
/* tons of code here */
} else if (file_exists("/etc/configfile")) {
/* almost the same code again */
}
这是一个极端的例子,但你明白了。