用TypeScript校验TVS参数条件:VRWM、IR和VC不能缺少测试字段

TVS选型系统如果把所有参数都设计成一个number,很容易出现两类错误:把典型值当最大值,或把脱离测试条件的数字直接比较。更稳妥的做法是把电气值与测试条件建模为同一个对象,并在导入阶段拒绝不完整记录。

定义可追溯的数据结构

下面是可直接运行的TypeScript示例,数据为演示用途:

vbnet 复制代码
// @ts-check
/** @typedef {"typical" | "maximum"} LimitKind */
/**
 * @typedef {Object} TvsRecord
 * @property {string} partNumber
 * @property {string} datasheetRevision
 * @property {number} vrwmV
 * @property {{valueUa:number, atVoltageV:number, temperatureC:number, limit:LimitKind}} leakage
 * @property {{voltageV:number, pulseCurrentA:number, waveform:string, limit:LimitKind}} clamping
 * @property {string} sourceUrl
 */

这套结构强制IR携带测试电压与温度,VC携带脉冲电流和波形。数据使用方不需要猜测字段含义。

导入时拒绝缺条件的数据

csharp 复制代码
/** @param {TvsRecord} record @returns {string[]} */
function validateTvs(record) {
  const errors = [];

  if (!record.partNumber.trim()) errors.push("partNumber is required");
  if (!record.datasheetRevision.trim()) errors.push("datasheetRevision is required");
  if (!(record.vrwmV > 0)) errors.push("vrwmV must be positive");
  if (!(record.leakage.atVoltageV > 0)) errors.push("IR test voltage is required");
  if (!Number.isFinite(record.leakage.temperatureC)) errors.push("IR temperature is required");
  if (!(record.clamping.pulseCurrentA > 0)) errors.push("VC pulse current is required");
  if (!record.clamping.waveform.trim()) errors.push("VC waveform is required");
  if (!record.sourceUrl.startsWith("https://")) errors.push("HTTPS source URL is required");

  return errors;
}

规格书未给出条件时,应保留为空并转人工审核,不要在爬取或导入脚本里猜一个默认值。

比较函数也要检查前提

IR只有在测试电压、温度和限值口径相同时才适合直接排序。VC同样要先核对脉冲电流和波形。可以让比较函数先返回comparable: false,而不是硬算排名。

阿赛姆SMA04J Rev1.4把VRWM、VBR、VC、IPP和IR列在同一表中,适合作为结构化录入示例。系统还应保存页码或表格位置,方便人工回到原始资料。

参考资料:

相关推荐
老张聊数据集成2 天前
2026 年中小企业项目管理软件怎么选:零代码搭建 vs 成品工具
产品经理·产品·创业
开心果仁3 天前
我把一个只支持 Mac 的开源 3D 动态壁纸移植到了 Windows
产品
加宝的起点雷达3 天前
为什么我不看 Reddit 热榜,而是自己算了个"信号分"
产品
我命由我123454 天前
ReAct 循环
学习·ai·产品运营·学习方法·ai编程·ai写作·产品
SL_staff4 天前
销售知识库7天落地实践:面向业务侧的零代码嵌入方案
java·开源·产品
这个DBA有点耶5 天前
研发规模/投入最大的国产数据库厂商是谁?拆解五个衡量维度
数据库·程序员·产品
九五视界5 天前
17 位复合主键:不查表也知道记录属于哪个实体
产品
李剑一6 天前
AI翻译都这么强了,为什么程序员还是躲不开英语?假如你想用上GPT6,我劝你还是早点背单词吧!
面试·产品·创业
阿宸科普8 天前
液冷机组冷却设备,接触器怎么选?三大系列参数与工程校核要点
产品
洞察万事局8 天前
液冷机组冷却设备,接触器怎么选?一个电气设计的一线记录
产品