SuperAPI AI 工具集

code-architecture

通用与其它

查看项目

更新于 10-15 20:30

技能介绍

用途:在单个可部署单元内组织代码,选择架构模式并诊断既有代码的架构问题,目标是让代码在编写 18 个月后仍可理解、测试和修改。不涉及微服务拆分、数据库模式设计、框架路由或 CI/CD。

主要能力:

  • 选择架构模式:整洁架构、六边形架构(端口与适配器)、按功能组织、垂直切片。
  • 诊断问题:胖控制器、循环依赖、业务逻辑纠缠。
  • 应用依赖倒置解耦,设置依赖注入容器,定义模块边界与 barrel 导出。
  • 按架构层设计测试金字塔。

关键原则:整洁架构依赖只能向内;实体不知用例,用例不知控制器,控制器不知数据库驱动。六边形架构中领域通过端口(接口)连接,适配器实现端口,便于替换基础设施。按功能组织时,features/X 内含 X 的全部层,通过 index.ts 暴露公共 API,功能间只从公共 API 导入。

反模式:控制器内写业务逻辑(应放入可脱离 HTTP 测试的用例);为抽象而抽象(单一实现且不变的接口是仪式);循环依赖(应合并模块、抽取共享模块、用接口倒置或事件驱动)。

检测命令:npx madge --circular src/;npx dpdm --circular src/index.ts;ESLint 规则 "import/no-cycle": "error"。

测试分层:实体用单元测试,用例用带 mock 的单元测试,适配器用集成测试,框架用 E2E/契约测试。业务逻辑测试不应启动服务器、连接数据库或发起网络调用。

限制:资料未提供具体收费、平台支持或安装步骤;DI 容器是否值得使用取决于依赖数量与手动装配成本。