我正在开发一个angular和nodejs项目。许多函数都是这样编写的
DESIGN 1
function foo(device, user){
...
}
现在我不知道设备是什么,也不知道用户。但我想这只是关于动态类型语言的事情,你必须调试每个对象才能知道它是什么。好吧,我可以忍受它,它使维护超级慢,但我想你更快写了初始应用程序。
现在我面临的第二个问题是,我看看这个函数并看到编码器只使用
device.baz
和user.bar
现在他可以编写函数就像
一样DESIGN 2
function foo(baz, bar){
...
}
让我更容易看到实际使用的内容。
我猜动态打字的另一个陷阱? foo(device, user)
可能更好,因为在动态类型中,重构是不可能的。例如。如果他发现他想在他的职能中使用device.beta
,他就会遇到麻烦。但凭借难以理解的方法,他拥有他想要的所有自由。
所以我的问题是:在实际场景中,Design 1优于设计2吗?
好吧,请“CLOSEVOTE !!!!没有答案!!!”
请问,有一个答案,显然有一种方法已被证明比另一种方法更好。