SuperAPI AI 工具集

FDD-architecture

编程与开发

查看项目

更新于 10-16 09:57

技能介绍

用途:为 React + Vite 应用提供特性驱动架构(FDD)与 React 编码规范,按业务能力而非技术类型组织代码,每个特性是自包含模块,含自己的 components、hooks、types 与测试。

主要能力:

  1. 项目结构:src/features/(业务特性,含 components/hooks/lib/types/index.ts/测试)、src/shared/(共享基础设施,含 ui、layouts、providers)、src/app/(入口与路由)。
  2. 质量原则:KISS、YAGNI、组合优于配置(用复合组件替代大量布尔属性)、显式可预测(避免 useEffect 隐藏副作用,优先显式事件处理器)、可访问性(键盘支持、ARIA、语义 HTML)。
  3. FDD 规则:特性局部性(代码位于 src/features/[feature-name]/,嵌套不超过 3 层);公共 API 边界(特性仅通过 index.ts 导出,禁止从内部路径导入);导入约定(特性内用相对路径,特性间用 @/features/... 别名,类型用 import type);命名约定(组件文件 PascalCase、Hook 文件 camelCase 且 use 前缀、类型文件 kebab-case + .types.ts、schema 文件 .schema.ts、文件夹 kebab-case);共享基础设施遵循三次规则(3 个以上特性使用才提升到 src/shared/);Hook 抽取(组件含 5 行以上非渲染逻辑、逻辑可复用或需独立测试时抽取)。
  4. 配置参考:Vite 路径别名(@、@/features、@/shared)、tsconfig paths、ESLint no-restricted-imports 强制执行公共 API 边界、TanStack Router 基于特性的代码分割。

使用方式:在组织特性、决定文件归属、搭建 index.ts 导出、审查跨特性导入、命名文件、判断是否提升到 shared、从复杂组件抽取逻辑时,按需加载 rules/ 下对应规则文件(如 locality-co-location.md、api-boundary.md、hook-extraction.md 等)。迁移指南见 references/migration.md。

限制:资料未提供安装命令、价格、收费、平台兼容范围或效果数据;内容针对 React + Vite,部分示例涉及 TanStack Router,未说明其他框架或构建工具的适配情况。