SuperAPI AI 工具集

strict-typing

通用与其它

查看项目

更新于 10-16 02:31

技能介绍

用途:strict-typing 是一个编码规范类技能,用于在编写类型化语言代码时强制完整类型标注。核心原则是“类型是编译器可验证的文档”。适用于 TypeScript、Python(带类型提示)、Go、Rust、Java、C# 及任何类型化语言。

主要能力与规则:禁止使用 any、unknown 或等效类型逃逸;始终提供显式且准确的类型;必要时可花费额外时间正确标注类型。TypeScript 中禁止 any、unknown[]、as any、@ts-ignore 等,要求使用 interface、泛型与类型守卫;建议开启 tsconfig.json 的 strict、noImplicitAny、strictNullChecks、noUncheckedIndexedAccess 等选项。Python 中禁止缺失类型提示与 Any,要求使用 dataclass、TypeVar、Protocol,并配置 mypy strict 等选项。Go 中避免 interface{} 与 any,优先具体类型或特定接口。

处理难点:第三方库缺类型时可编写 declare module 类型定义或贡献到 DefinitelyTyped;动态数据(API 响应、JSON)可定义预期结构并用类型守卫或 Zod 做运行时校验。类型难以表达时,依次考虑简化设计、使用泛型、联合类型、类型守卫,最后才在文档说明理由后使用 any(应极少见)。

使用方式:作为技能被 issue-driven-development 的第 7 步应用。提交代码前检查:无 any、无未加类型守卫的 unknown、无 @ts-ignore 或 # type: ignore、所有函数参数与返回值均有类型、公开接口/类型已导出、类型配置为严格模式。

限制:资料未提供安装命令、平台支持范围、收费与价格信息,暂未提供。该技能强调类型正确性优先于速度,可能增加开发时间。