动态类型语言以及重构和读取代码的痛苦

时间:2015-10-29 06:45:44

标签: javascript angularjs node.js dynamic-typing

我正在开发一个angular和nodejs项目。许多函数都是这样编写的

DESIGN 1

function foo(device, user){
 ...
}

现在我不知道设备是什么,也不知道用户。但我想这只是关于动态类型语言的事情,你必须调试每个对象才能知道它是什么。好吧,我可以忍受它,它使维护超级慢,但我想你更快写了初始应用程序。

现在我面临的第二个问题是,我看看这个函数并看到编码器只使用

device.bazuser.bar

现在他可以编写函数就像

一样

DESIGN 2

function foo(baz, bar){
 ...
}

让我更容易看到实际使用的内容。 我猜动态打字的另一个陷阱? foo(device, user)可能更好,因为在动态类型中,重构是不可能的。例如。如果他发现他想在他的职能中使用device.beta,他就会遇到麻烦。但凭借难以理解的方法,他拥有他想要的所有自由。

所以我的问题是:在实际场景中,Design 1优于设计2吗?

好吧,请“CLOSEVOTE !!!!没有答案!!!”

请问,有一个答案,显然有一种方法已被证明比另一种方法更好。

0 个答案:

没有答案