我发现自己两次复制和粘贴相同的代码。
现在我有一个功能,我想在两个源文件之间共享。它将从两个源文件传递相同的变量。如果我不想“重复自己”,那么这是最好的行动吗?如果两个文件都有其他独立的功能,那么这些功能是存在于库文件中,还是存在于源文件中?你如何决定一堂课是否合适?你如何确定何时开始拆分?
答案 0 :(得分:4)
不要重复自己。使用共享函数创建包含文件。
答案 1 :(得分:2)
您应该阅读面向对象的分析和设计书籍。这些问题与OO原则有关。
我认为你更好的选择就是拿出一本书:HF: OOA&D。我恳求它,它回答你所有的问题。
如果2个文件重复某些代码,您应该在函数中获取该代码并将其用于2个文件。
请记住,一个类只有一个责任,那么,你必须将该函数放在正确的位置,例如,如果它是一个实用程序代码,你就不能把它放在一个实用程序模块中。
什么时候合适?你必须对你的问题的用例做一些域名anaylisis,并查看作为你的程序的候选类的名词。
如何确定?在编码之前,您必须对问题进行一些分析和设计。
简而言之,我推荐你那本书,这就是你所需要的:PP
答案 2 :(得分:2)
同意上述答案 - 不要重复(哈哈讽刺的是重复别人的回答!)。
关于课程与功能,我不会说有明确的答案。
我听说有时我们应该为了速度而放弃OO功能,但我认为这对于现在的计算机速度来说并不重要。一旦app / site开始变得非常小,我个人总是喜欢上课。例如,您可以一起使用两个函数来在页面上获得特定结果。重用那将意味着你必须a)再次调用或b)编写第三个函数来调用另一个2.在这种情况下,一个类开始看起来更有吸引力
使用模拟框架,类很容易测试。 类也可以很容易地序列化包含大量数据的对象
答案 3 :(得分:1)
前段时间,我读了一篇关于复制/粘贴代码的文章(我相信编码恐怖,但如果我错了,请纠正我)。基本上,如果你在代码中使用了很多复制/粘贴,你应该考虑将它变成一个函数,这是一个很好的实践,因为它可以让你简化你的代码,不仅使它更优化,而且还可以实现它其他开发人员更容易跟随。