如何解决更糟糕的做法是:更改函数中的复杂参数或允许文件增长到笨拙的大小
我和我的同事不同意哪种较差的做法:允许.vue文件中的组件变得不可靠,或者通过将某些功能委托给助手类/文件来维持其大小/复杂度,即使这些功能会发生变异一个复杂的对象。
这是一个此类函数的示例:
updateObject(sourceObj) {
this.destObj.field1 = sourceObj.field1;
this.destObj.field2 = sourceObj.field2;
...
this.destObj.field10 = sourceObj.field10;
}
我们有几个更新功能,并将添加更多。每一行包含大约10行代码,只需将字段从源对象复制到目标对象(我们将使用Object.assign(this.destObj,... sourceObj),但我们不希望复制sourceObj中的所有字段过度)。目标对象是数据对象。
在代码审查期间,我建议创建一个帮助文件,并将将数据从源对象传输到目标对象的任务委派给该帮助文件:
updateObject(sourceObj) {
helper.updateObject(this.destObj,sourceObj);
}
...并且将逐个字段复制数据将在helper.updateObject()中完成。
任务的重点是简化组件。添加这些更新功能只会使其更加复杂,但是有必要考虑我们的情况。因此,我建议在一个单独的文件中创建它们。
我的同事反对,因为当复杂对象是函数参数时,对它们进行突变是不好的做法。我以前从未听过。当我问为什么时,他说这是因为它使调试变得更加困难(我想是因为您必须执行额外的功能)。考虑到允许文件变得笨拙也是一种不好的做法,并且考虑到该任务的整个目的是简化文件,因此我认为保持文件的简单性应该优先考虑。
还有一点,我们已经在函数中对目标对象进行了突变,但是该函数是一个事件处理程序,因此无论如何它都是一个入口点。
您认为更好的做法是什么:保持文件小而简单,或避免将复杂的参数突变为函数?另外,有没有人听说过避免对函数中的复杂参数进行变异的做法?
注意:我可以共享更多代码来解释为什么必须具有这些更新功能,但是回答这篇文章的问题并不必要。但是请问,我会添加它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。