我的功能代码应该拆分成另一个源文件吗?

时间:2009-06-15 22:01:50

标签: php design-patterns oop

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

现在我有一个功能,我想在两个源文件之间共享。它将从两个源文件传递相同的变量。如果我不想“重复自己”,那么这是最好的行动吗?如果两个文件都有其他独立的功能,那么这些功能是存在于库文件中,还是存在于源文件中?你如何决定一堂课是否合适?你如何确定何时开始拆分?

4 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

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

我认为你更好的选择就是拿出一本书:HF: OOA&D。我恳求它,它回答你所有的问题。

如果2个文件重复某些代码,您应该在函数中获取该代码并将其用于2个文件。

请记住,一个类只有一个责任,那么,你必须将该函数放在正确的位置,例如,如果它是一个实用程序代码,你就不能把它放在一个实用程序模块中。

什么时候合适?你必须对你的问题的用例做一些域名anaylisis,并查看作为你的程序的候选类的名词。

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

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

答案 2 :(得分:2)

同意上述答案 - 不要重复(哈哈讽刺的是重复别人的回答!)。

关于课程与功能,我不会说有明确的答案。

我听说有时我们应该为了速度而放弃OO功能,但我认为这对于现在的计算机速度来说并不重要。一旦app / site开始变得非常小,我个人总是喜欢上课。例如,您可以一起使用两个函数来在页面上获得特定结果。重用那将意味着你必须a)再次调用或b)编写第三个函数来调用另一个2.在这种情况下,一个类开始看起来更有吸引力

使用模拟框架,类很容易测试。 类也可以很容易地序列化包含大量数据的对象

答案 3 :(得分:1)

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