playbook/docs/typescript/naming.md

1.9 KiB
Raw Blame History

TypeScript 命名规范

文件与目录

  • 文件名:kebab-case.ts / kebab-case.tsx / kebab-case.js / kebab-case.jsx
  • 脚本/配置文件:kebab-case.mjs / kebab-case.cjs
  • 测试文件:kebab-case.test.ts / kebab-case.spec.ts / kebab-case.test.js / kebab-case.spec.js
  • 类型声明文件:kebab-case.d.ts
  • 目录名:kebab-case/

标识符

类别 风格 示例
Class PascalCase UserService
接口Interface PascalCase UserProfile(不加 I 前缀)
类型别名Type PascalCase ApiResponse<T>
枚举Enum PascalCase HttpStatus
枚举成员 UPPER_WITH_UNDER NOT_FOUND
函数/方法 camelCase getUserById
变量/参数 camelCase userId
常量(模块级) UPPER_WITH_UNDER MAX_RETRY_COUNT
私有成员 _camelCase _cache
泛型参数 单字母或 T 前缀 TTItemKV
React 组件 PascalCase UserCard
React Hook camelCase,以 use 开头 useUserData

布尔值命名

布尔变量/属性以 ishascanshould 开头:

const isLoading = true
const hasPermission = false

避免

  • 单字母变量(循环索引 i/j 除外)
  • 缩写(usrbtn);优先完整单词
  • 匈牙利命名法(strNamenCount
  • 接口名加 I 前缀(IUserService