用途:这是一份跨项目通用的编码规范,用于约束 TypeScript、JavaScript、React 与 Node.js 代码风格与工程实践,强调可读性优先、KISS、DRY、YAGNI 等原则。
主要能力:
- 命名规范:变量用描述性名称(如 marketSearchQuery、isUserAuthenticated),函数用动词加名词(如 fetchMarketData、isValidEmail)。
- 不可变模式:优先用扩展运算符创建新对象或数组(如 {...user}、[...items, newItem]),避免直接修改。
- 错误处理:fetch 后检查 response.ok,捕获异常并重新抛出或记录,禁止无处理直接返回。
- 异步:无依赖时用 Promise.all 并行执行;类型安全:用接口替代 any。
- React:函数组件带类型,自定义 Hook 可复用(如 useDebounce),状态用函数式更新(setCount(prev => prev + 1)),条件渲染保持清晰。
- API 设计:遵循 REST 约定(GET/POST/PUT/PATCH/DELETE),统一响应结构(success、data、error、meta),用 zod 做输入校验。
- 文件组织:按 app、components、hooks、lib、types 等目录分层,组件用 PascalCase、Hook 用 use 前缀、工具用 camelCase。
- 注释:解释“为什么”而非“是什么”,公共 API 用 JSDoc。
- 性能:用 useMemo、useCallback 缓存,用 lazy 与 Suspense 懒加载,数据库只查所需列。
- 测试:按 AAA(Arrange-Act-Assert)结构组织,测试名要描述具体行为。
- 坏味道检测:控制函数长度、减少深层嵌套(用提前返回)、避免魔法数字(改用命名常量)。
使用方式:作为项目规范文档或规则集,指导日常编码与代码审查。资料未提供安装命令或配置方式。
适用场景:团队协作的中大型前端与全栈项目、代码评审、新人上手规范。
限制:主要针对 TypeScript、JavaScript、React、Node.js,其他语言或框架的适配暂未提供;具体工具集成方式暂未提供。