百科问答小站 logo
百科问答小站 font logo



如何评价 Typescript 的运行时类型检测工具io-ts? 第1页

  

user avatar   Broooooklyn 网友的相关建议: 
      

我一直不知道前端里面用了 strict TypeScript 之后这种 Runtime validator 有啥用。

因为 strict TypeScript 本身已经足够 sound,runtime error 无非来自于后端 API 返回的数据与类型定义不一致。

而这个问题来自两种原因:

1. 开发的时候和后端没沟通清楚,类型写错了,该 option 的没有 option,该 | null 的没有 | null 。

2. 沟通清楚了,后端没有按约定实现接口或者后端有莫名其妙的 bug 这个字段就是为空。


对于这两种问题的解决方案,第一种应该是改接口的类型描述而不是用所谓的安全版取值方法或 validate 方法取值

第二种问题应该是通过日志监控报警,把犯罪证据留下第一时间发现问题并且把锅甩出去。


这种所谓的数据校验的 lib,徒增一大坨用来抽象数据的方法,解决不存在的问题。

如果是后端的问题让后端去改。如果是前端的接口类型定义错了应该把接口定义改对,这样 TypeScript 就能保护你不受空值问题的影响。

如果你没有日志监控报警那就去搭一个日志监控报警。




  

相关话题

  单人做一个网站需要掌握哪些知识? 
  前端短时间内发送两个http请求,如何确保获取后发请求的响应? 
  项目代码的公共部分该由谁去维护? 
  为什么维基百科的用户界面设计不够友好? 
  普通程序员在未来会变成廉价劳动力(农民工)吗? 
  假如女朋友(前端女)专门做了一个网页送给你作生日礼物,你会很感动吗很喜欢这份礼物吗? 
  作为前端开发者,不了解flash,可耻吗? 
  纯CSS3有什么实现垂直居中的新方法吗? 
  为什么 CSS 这么难学? 
  初期学习前端有合适的电脑推荐么? 

前一个讨论
暗黑破坏神一算是mmoRPG吗?
下一个讨论
JavaScript 最失败的设计是 arguments 吗?





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利