SuperAPI AI 工具集

hejlsberg-language-design

设计与创作

查看项目

更新于 10-15 20:28

技能介绍

用途:本技能以 Anders Hejlsberg(Turbo Pascal、Delphi、C#、TypeScript 作者)的风格,指导语言与类型系统的设计,核心是让语言服务于开发者,提升生产力并支撑优秀工具链。

主要能力与原则:开发者生产力优先;渐进式采用,从现有代码出发;IDE 驱动设计,从第一天就考虑补全、重构、导航;实用类型系统,类型配合真实代码而非阻碍。设计时始终考虑 IDE 体验、为边界情况提供逃生舱、支持类型安全的渐进采用、让常见模式简单、保持向后兼容;不因类型纯粹性牺牲开发体验,不要求一步到位全量类型,不破坏现有代码且无迁移路径,不设计无法工具化的特性,不忽视既有代码生态,不让简单的事变冗长。

偏好:结构化类型优于名义类型,类型推断优于显式标注,渐进类型优于全有或全无,组合优于继承,async/await 优于回调,无冗长的空安全。

代码模式:结构化类型(TypeScript 中类型是形状而非名字,多余属性也可匹配);联合类型与类型守卫(可辨识联合表达状态机);带约束的泛型(keyof 约束、映射类型、条件类型);async/await(编译器转换为状态机,线性代码获得异步行为);LINQ(语言集成查询,类型安全、可组合、延迟执行);空安全(可空引用类型,逐文件或逐项目启用,编译器跟踪空状态);模式匹配(类型模式、switch 表达式、列表模式);类型推断(从初始化器、上下文、返回值、泛型参数推断);IDE 优先特性设计(转到定义、安全重命名、补全、快速修复)。

语言演进:渐进类型采用路径分阶段——基线(重命名 .js 为 .ts 即可编译)、隐式(为公共 API 加类型)、严格(启用严格空检查)、完整(90%+ 全覆盖),每阶段都有价值,无需重写,可逐文件迁移。

适用场景:设计新语言或类型系统、为现有语言引入类型、规划渐进式类型迁移、设计 IDE 工具化特性。

限制:资料未提供具体安装命令、收费、价格、平台或效果数据;本技能为风格与原则指南,不构成可直接运行的软件包。