百科问答小站 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 就能保护你不受空值问题的影响。

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




  

相关话题

  fetch 的优势在哪里? 为什么有人会在前端项目中用 fetch? 
  初期学习前端有合适的电脑推荐么? 
  HTML、CSS、JavaScript 为什么不加个标明运行版本号的语法? 
  如何看待程序员不写注释? 
  HTML中的html head body标签有且只能有一个,为什么不可以直接省略? 
  客户端 POST 错误,服务端应该回 200 还是 400? 
  想买一些瑞士PB的螺丝刀,请问国内网站哪里可以买的到正品? 
  如何看待程序员不写注释? 
  程序员们平时都喜欢逛什么论坛呢? 
  前端能否限制用户截图? 

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





© 2025-01-30 - tinynew.org. All Rights Reserved.
© 2025-01-30 - tinynew.org. 保留所有权利