我正在创建一个PHP文件,其中包含2个mysql数据库调用,其余的脚本都是if语句,用于判断像file_exists等简单变量。到目前为止,这个文件已经有大约2000行代码。
如果语句为true,将代码包含在一个单独的文件中,是否是更好的做法?还是直接将代码键入if语句本身更好?
在PHP中,单个文件的最大代码行数应该遵循多少?
我正在创建一个PHP文件,其中包含2个mysql数据库调用,其余的脚本都是if语句,用于判断像file_exists等简单变量。到目前为止,这个文件已经有大约2000行代码。
如果语句为true,将代码包含在一个单独的文件中,是否是更好的做法?还是直接将代码键入if语句本身更好?
在PHP中,单个文件的最大代码行数应该遵循多少?
我认为,与PHP文件中的行数有关的任何性能问题都不应该存在,可以尽可能地增加文件大小。
至于模式和最佳实践,我认为你必须自己做出判断。我见过很多组织良好、有几千行代码的文件,也见过很多实际上很小且难以阅读的文件。
我的建议是:
从计算机的角度来看,一个单文件中有2000行代码并不算糟糕,但在大多数情况下是可以避免的。您可以了解一下MVC设计模式,它可以帮助您更好地组织代码。
此外,请记住,包含(大量)文件会减慢代码的执行速度。
您可能想阅读像《代码整洁之道》这样的书。以下是该书中的一些要点:
使用PHP时,如果您不使用类方法,将会遇到重复问题。请自己花点时间研究这个主题,这将在扩展和维护方面节省更多时间。
你需要关注代码行数吗?不一定。只要确保你的代码有组织、高效,并且不冗长即可。
其实并不重要,只要你已经适当地记录了代码,尽可能地模块化,并检查了任何低效的部分。你可能会有一个10,000行的文件。虽然我通常会将应用程序的每个部分拆分为大约500-1000行。
2k行对我来说太多了...虽然这取决于你遵循的代码风格,例如许多换行符、许多小函数或良好的API合同注释可以增加大小,但它们是良好的实践。此外,良好的代码格式化可以增加行数。
关于PHP,需要知道的是:它是只有一个类的2k行,还是只有一个大的包含非面向对象PHP代码的文件?它是否与模板语句和程序逻辑混合(就像我经常在PHP代码中发现的那样)?
通常情况下,当要拆分时,我不会计算这些行。它们只是习惯性的。如果代码变得混乱,我会进行反应和重构。尽管最近我们团队编写的一些代码中看到了一些模式:
这还要看我的代码类型。例如,如果涉及大量逻辑(if/else/switch/for),每个函数的代码行数会减少。如果几乎没有涉及任何逻辑(简单愚蠢的单路径代码语句),则限制会增加。最重要的规则是:人类是否能够理解代码。他们是否能够很好地阅读它。
我不知道任何有用的方法来分割如此简单的代码,特别是如果它们在语义上都属于一起。
也许更有趣的是思考是否可以通过重构来消除一些代码。例如,如果您经常使用具有略微不同变量的特定组合检查,将检查组合外包到函数中并在适当的位置调用可能会有所帮助。
我记得曾经看过一个项目,大部分写得很好,但存在这样的问题。例如,解析其配置文件的代码被重复编写了:
if (file_exists("configfile")) {
/* tons of code here */
} else if (file_exists("/etc/configfile")) {
/* almost the same code again */
}
这只是一个极端例子,但你明白了吧。