SuperAPI AI 工具集

parse-dont-validate

通用与其它

查看项目

更新于 10-16 06:42

技能介绍

用途:在修改领域模型、输入边界或状态转换时,用类型保留不变量。核心做法是先把原始输入解析为领域值,再让依赖有效输入的效果执行,下游函数消费这些值而非反复检查原始类型。

主要能力与做法:识别消费者所需的不变量,选择能保留该不变量的表示,并回溯调用者到输入边界;仅当约束只作用于某一分支时细化值;只有当类型能阻止具体错误或表达领域区分时才引入类型,并按它建立的保证命名。F# 中,必须同时存在的值用 record,备选或状态相关数据用可区分联合;两个原始值互换会出错时用不同(distinct)类型,可复用合适的领域类型;范围或格式保证用受限类型,通过私有表示或 .fsi 签名强制智能构造器。需要失败细节时返回 Result<DomainValue, ParseError>,缺失信息足够时用 option。非空集合用必需的头加尾表示;量纲用度量单位而非范围约束。

保持保证:领域操作中保持领域值完整,仅在序列化、显示或必须用原始值时提取原始值;检查构造、更新、反序列化、持久化加载与转换路径,使每个操作要么保留不变量要么显式失败;序列化器绕过构造器时,把原始传输数据与领域值分开;除非用户要求,保留既有存储与传输契约;按领域规则拒绝无效输入,仅在契约允许时归一化、截断、去重或替换默认值;处理器接受所有状态时显式处理每个状态,操作只要求一种状态时可考虑接受状态特定类型。权限、并发、可用性等变化的外部事实仍需运行时检查,解析后的值不能永久证明这些事实,例如格式正确的邮箱地址不证明所有权或可送达性。

验证:确认无效输入产生所需失败,成功解析产生消费者需要的类型,受支持 API 无法绕过构造,更新保留不变量;仅当类型保证被检查属性时才移除重复检查,并报告仍存在的运行时检查与绕过保证的构造路径。

限制:资料未提供具体安装命令、代码示例、平台或收费信息。