用途:这是 DR-NRPG 平台的 TypeScript 编码规范,在项目处理 .ts/.tsx 文件时自动加载,用于统一团队代码风格与质量要求。
主要能力:规定类型与结构(启用 TS 严格模式、零 any、零无类型导出;对象结构用 interface,联合/交叉类型用 type 别名;导出函数必须显式标注返回类型);异步与错误处理(优先 async/await 而非裸 Promise,始终 try/catch 并使用带类型的错误;优先可选链 ?. 与空值合并 ??;除非有注释说明理由,否则不用非空断言 !);变量约定(默认 const,仅在值变化时用 let,禁止 var;使用解构与模板字面量)。
文件与命名限制:函数少于 40 行,超出需抽取;文件少于 300 行,超出需拆分;禁止死代码、未使用导入和注释掉的代码块。组件用 PascalCase(如 UserDashboard.tsx),工具函数、服务、类型文件用 kebab-case(如 date-formatter.ts、booking.service.ts、user.types.ts),测试用 .test.ts 或 .spec.ts,常量用 SCREAMING_SNAKE_CASE,枚举名为 PascalCase 且值为 SCREAMING_SNAKE_CASE。
导出:优先具名导出而非默认导出;模块目录使用 barrel 导出(index.ts);每个导出函数需有 JSDoc。错误处理定义自定义错误类 ValidationError、NotFoundError、UnauthorizedError、ConflictError;记录日志须带上下文(如 userId、bookingId);不向客户端暴露内部错误;统一 API 响应格式 { success: boolean, data?: T, error?: { code, message } }。
适用场景:DR-NRPG 平台上编写或审查 TypeScript 代码时。限制:资料未提供安装命令、平台支持范围、收费与版本信息,暂未提供。