mcpField
C
clean-typescript

clean-typescript

github.com/academind开发1169 次安装40 周前更新
代码仓库

关于 clean-typescript

面向希望通过类型提升正确性与可读性的 TypeScript 开发者的指导技能。它强调明确、可组合的类型、安全处理空值和清晰表达错误状态,避免不必要的复杂性。

主要功能

  1. 01优先使用清晰明确的类型
  2. 02避免 `any` 和不安全断言
  3. 03用联合类型或 `as const` 替代枚举
  4. 04通过守卫处理空值
  5. 05显式表示错误状态

适用场景

  1. 01审查 TypeScript 类型定义
  2. 02设计清晰的公共函数 API
  3. 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