'应该'实例变量或属性共享getter / setter

时间:2013-06-01 04:06:59

标签: oop setter code-duplication

说我有一个JavaScript对象:

myObject = {
    oneArray: [],
    otherArray: [],

    setOneArray: function(){
        /*some code that sets the contents*/
    }

    setOtherArray: function(){
        /*again code that sets contents*/
    }
}

现在让我们说,就像它现在所说的那样,两个“定位器”的代码都是正确的。是相同的。我重复努力和代码,没有两种方式。我本可以为两者编写一个函数,但在编码(或复制/粘贴)中保存了很长时间。在可预见的未来,我没有理由以不同的方式对待这些 - 所以这基本上是一种不好的做法吗?

如果上下文很重要,两个数组都被推送到相同类型的数据 - 字符串 - 但是来自JSON文件的不同部分。

1 个答案:

答案 0 :(得分:0)

我要继续说出来:是的,复制代码是一种不好的做法。开发人员应该学习的首要原则之一是DRY。重复代码只会增加他们失去同步的机会。

你可以做的仍然是麻烦的setter,但让他们每个只调用包含相同代码的另一个方法。如果这一天有所改变,那么你可以摆脱常用的方法,让你的制定者在这一点上变得不同。