我有一个大型系统,我已编码,我希望使代码(我敢说)更简单易读。不幸的是,在此之前,我还没有使用过很多功能。
我有许多不同的MySQL查询在我的代码中运行,我觉得如果我将各种显示放入函数并将它们存储在一个单独的文件中,它会使代码更容易维护(实际上,我知道它会)。
我唯一想知道的是,如果这是一种常见的做法,并且如果你认为从长远来看它会在性能和其他因素方面伤害我。以下是我目前使用的示例:
$result = mysql_query("SELECT * FROM table");
while($row = mysql_fetch_array($result)){
/* Display code will go here */
}
你可以想象这会变得冗长。我正在考虑创建一个将获取结果变量的函数,并完成此操作,然后返回结果,如下所示:
$result = mysql_query("SELECT * FROM table");
dsiplayinfo($result);
你认为这是正确的方法吗?
[编辑]
这些功能会有很大不同,因为每个功能都需要以不同的方式显示数据。每个方案中都需要显示数据库的不同字段。即使有这个因素,你觉得这种方法仍然很好吗? AKA模块化设计尚未完全实现,但易于维护。
答案 0 :(得分:3)
你要记住的一件事是DRY的原则:不要重复自己。
如果您发现有多个代码块正在多次使用,或者非常相似且可以相同,那么它是移动到函数中的理想选择。
答案 1 :(得分:1)
使用更多功能可能会有所帮助,并且可能会造成伤害。从理论上讲,它更倾向于模块化设计,这意味着您可以在多个应用程序中反复使用某个功能,而无需重新编写它。
我诚实地鼓励你们更多地参与更大的会议,例如那里的MVC Frameworks。 Kohana是一个很棒的人。它使用诸如Helpers之类的东西来获得额外的外部功能,模型用于查询数据库,控制器用于执行所有逻辑 - 最终结果传递给View,使用HTML / CSS进行格式化,并使用Javascript加速。 / p>
答案 2 :(得分:1)
答案 3 :(得分:0)
是的,还要考虑查看ORM或某些与数据库无关的界面。这可能有助于减少重复(当然,如果有的话,可以更容易地移植到新的数据库)。
基本上,只要您看到类似外观的代码(无论是在结构上还是在功能上),您都有机会将其分解为可在整个应用程序中共享的函数。一个好的经验法则是“不要重复自己(DRY)”