SuperAPI AI 工具集

validate-inputs-first

测试与质量

查看项目

更新于 10-15 22:19

技能介绍

用途:这是一个调试辅助技能,主张在深入排查函数内部逻辑之前,先验证函数是否收到了正确的输入。资料指出大量缺陷源于输入数据异常,而非逻辑本身出错。

主要能力:提供一套分步排查流程。第一步梳理预期输入契约,可从类型注解、TypeScript 接口、JSDoc、函数文档、函数内校验逻辑、调用点及测试用例中推断。第二步检查实际传入值,向上游追踪数据来源,检查映射、过滤、格式化等转换,以及数据是否被其他函数修改。第三步逐项比对,检查参数是否存在、类型、结构、取值范围、编码格式和数据是否过期。第四步向上游追溯根因,定位坏值来源、损坏发生位置以及为何未被拦截。第五步给出防御建议,包括在源头修正数据、在函数边界加校验、引入类型或模式校验(如 Zod、Joi)、对非法输入快速失败并抛出描述性错误。

使用方式:按上述步骤对目标函数建立预期契约与实际输入对照,常见不匹配模式包括参数为 undefined、字符串代替数字、null 代替对象、数组代替单项、响应被双重包裹、数据过期等。资料给出示例:API v2 将响应包在 data 信封中,代码读取 response.users 而应读 response.data.users;URL 查询参数始终是字符串,导致 price * discount 计算错误。

适用场景:调试意外行为、空值错误、类型问题或参数不正确时。

限制:若函数无类型、无文档、无校验,需从函数体访问的属性反推隐含契约,并将缺失契约标记为代码质量问题;若输入确认正确但函数仍失败,应转向内部逻辑排查;若不同调用方传入结构不一致,需逐个检查调用点并考虑在边界归一化输入。资料未提供安装命令、平台支持或收费信息。