接受或反对node缺乏类型安全
Embrace or fight Node's lack of type safety
我来自一个语言的世界(Delphi, PHP, Java),在那里静态类型和强大的OOP支持并增强了整个体系结构。无论是使用抽象类来定义facade,还是使用接口来支持DI,它们都指导了我开发解决复杂业务问题的体系结构的能力。
NodeJS(更一般地说,Javascript)有一个非常弱的类型感,所以被称为"鸭子类型",我发现我不能在Node中应用传统的(和强大的)技术到同样的程度。如果我想为数据库编写一些facade,当然可以,但是编写mock或存根的人没有方法签名来设计——他/她必须查看我的模块("类")。如果我可以使用接口,这将会容易得多,但实际上,如果没有一些额外的管道,我就做不到。
当在Node中构建复杂的、松散耦合的应用程序时,我应该接受这种类型的缺乏(如果是,如何接受?),还是利用面向Node的OOP库(如DejaVu),从而获得"类型安全",尽管这是以运行时类型检查为代价的。我倾向于第二种,因为它允许我编写带有额外运行时保护层的契约驱动代码。
弱类型(我的意思是弱类型,而不是静态、动态、隐式、显式等)会阻碍健壮代码的开发,而Typescript编译成JavaScript有助于解决这个问题。
相关文章:
- Node.js中依赖于版本的类型继承
- Node.js和Mongodb安全+源代码加密选项
- Node js:如何获取文件签名标头而不是 mime 类型
- 如何在 Node.js 中发送文件之前设置 MIME 类型
- 如何忽略 Firebase 安全规则中的类型
- JS和iOS之间的类型安全
- Node.js异步并行“;类型错误:任务不是函数;
- 为什么JSON类型是安全的
- TypeScript 构造函数类型安全
- Yesod:在 AJAX 调用中使用类型安全的 URL
- 老计时器如何最好地管理Javascript中的类型安全
- Object.getPrototypeOf(val). tostring()确保DOM类型安全吗?
- 类型错误:Node的参数1.appendChild不是一个对象
- 我如何找到正确的程序打开给定的文件类型在node.js
- 在TypeScript中以类型安全的方式用静态函数从外部库扩展一个类
- 护照登录无重定向安全(Node.js)
- 接受或反对node缺乏类型安全
- JavaScript中是否有类型安全的比较操作符等价物
- javascript中的类型安全,或者如何避免很难检测到的类型相关错误
- 主干和TypeScript,一个不幸福的婚姻:构建一个类型安全的“get”