关于 clean-typescript
面向希望通过类型提升正确性与可读性的 TypeScript 开发者的指导技能。它强调明确、可组合的类型、安全处理空值和清晰表达错误状态,避免不必要的复杂性。
主要功能
- 01优先使用清晰明确的类型
- 02避免 `any` 和不安全断言
- 03用联合类型或 `as const` 替代枚举
- 04通过守卫处理空值
- 05显式表示错误状态
适用场景
- 01审查 TypeScript 类型定义
- 02设计清晰的公共函数 API
- 03减少不安全的空值与错误处理
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ academind/ ai-config --skill clean-typescript安装后在 Claude Code 中输入/clean-typescript确认已加载。
详细介绍
简洁的 TypeScript
我们将 TypeScript 作为保障正确性和清晰度的工具,而不是一种形式。 类型应减少错误和认知负担。
类型理念
- 优先选择明确、易读的类型,而不是巧妙或过度泛化的类型
- 避免使用
any和不安全的类型断言 - 必要时使用
unknown代替any - 当类型推断清晰且稳定时,让 TypeScript 推断类型
类型与接口
- 大多数场景下优先使用
type别名 - 主要在定义公开、可扩展的对象形状时使用
interface - 保持类型精简、可组合且命名清晰
函数与 API
- 优先为公开函数明确指定返回类型
- 除非能显著改善 API,否则避免函数重载
- 保持函数签名简单且可预测
可空性与安全性
- 明确处理
null和undefined - 不要依赖非空断言(
!),除非别无选择 - 优先通过控制流和守卫来缩窄类型
枚举与常量
- 避免使用
enum - 优先使用联合类型或
as const对象 - 保持运行时输出可预测且精简
错误处理
- 明确表达类型错误和错误状态
- 适当情况下,优先使用结果对象或类型化错误,而不是抛出异常
- 不要用宽泛类型掩盖失败情况
通用原则
- 类型应阐明意图
- 如果一种类型很难理解,它很可能就是不合适的
- 将可维护性置于理论上的完整性之上
评论
支持 Markdown