Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我的函数代码是否应该拆分为另一个源文件?_Php_Design Patterns_Oop - Fatal编程技术网

Php 我的函数代码是否应该拆分为另一个源文件?

Php 我的函数代码是否应该拆分为另一个源文件?,php,design-patterns,oop,Php,Design Patterns,Oop,我发现自己复制和粘贴了两次相同的代码 现在我想在两个源文件之间共享一个函数。它将从两个源文件传递相同的变量。如果我不想“重复我自己”,这是最好的行动方案吗?如果两个文件都有单独的其他函数,那么它们应该驻留在库文件中,还是与源文件中的一样?你如何决定一门课是否合适?你如何决定什么时候开始把东西分开 不要重复你自己。使用共享函数创建包含文件。您应该阅读一本面向对象的分析和设计书籍。这些问题是关于OO原则的 依我拙见,你最好的选择是选一本像这样的书。我读了它,它回答了你所有的问题 如果有两个文件在重复

我发现自己复制和粘贴了两次相同的代码


现在我想在两个源文件之间共享一个函数。它将从两个源文件传递相同的变量。如果我不想“重复我自己”,这是最好的行动方案吗?如果两个文件都有单独的其他函数,那么它们应该驻留在库文件中,还是与源文件中的一样?你如何决定一门课是否合适?你如何决定什么时候开始把东西分开

不要重复你自己。使用共享函数创建包含文件。

您应该阅读一本面向对象的分析和设计书籍。这些问题是关于OO原则的

依我拙见,你最好的选择是选一本像这样的书。我读了它,它回答了你所有的问题

如果有两个文件在重复某些代码,则应在函数中取出该代码,并在这两个文件中使用

请记住,一个类只有一个职责,然后,您必须将该函数放在正确的位置,例如,如果它是一个实用程序代码,则不能将其放在实用程序模块中

什么时候上课合适?您必须对问题的用例进行一些领域分析,并查看作为程序候选类的名词

如何确定?在编码之前,您必须对您的问题进行一些分析和设计


简而言之,我向你推荐那本书,它就是你所需要的:PP

同意上面的答案-不要重复(哈哈,重复别人答案的讽刺!)

关于类与函数,我不会说有一个明确的答案

我听过一些观点认为,为了速度,我们有时应该放弃OO功能,但我认为这与当今计算机的速度无关。我个人总是喜欢在应用程序/网站开始变得比非常小的东西更大的时候上课。例如,您可以同时使用两个函数来实现页面上的特定结果。重用这意味着你必须a)再次调用这两个函数,或者b)编写第三个函数来调用另两个函数。在这种情况下,类开始看起来更有吸引力

类很容易通过模拟框架进行测试。
类还使序列化一个包含大量数据的对象变得很容易。

不久前,我读了一篇关于复制/粘贴代码的文章(我相信编码恐怖,但如果我错了,请纠正我)。基本上,如果您在代码中使用了大量的复制/粘贴,您应该真正考虑将其变成一个函数,这是一个很好的实践,因为它允许您简化代码,不仅使其更优化,而且使其他开发人员更容易跟随。