principle-type-system-discipline
该技能是一套类型系统设计原则,用于在设计类型、审查函数签名或用静态类型语言编写代码时应用。核心目标是让编译器拒绝不可能的状态、不匹配的原始类型和未处理的变体,倾向于通过定义消除错误与特殊情况,而非不断增加处理分支。主要原则包括:让非法状态不可表示(用和类型而非可选字段组合建模变体)、把类型视为构造而非限制、为语义化原始类型打品牌(如 UserId 与 OrderId 不可互换)、外部数据在解析前视为无类型、不要对类型系统撒谎(避免强制转换)、穷尽匹配交给编译器、从权威 schema 派生类型、仅在出现部分性时强化类型。适用于 TypeScript、Rust、Haskell、Kotlin 等静态类型语言。