整洁架构与领域驱动开发
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/software-architecture。
技能介绍
你在解决什么问题
业务逻辑塞进 React 组件、控制器里直接写 SQL、utils.js 堆满无关函数——这类结构在需求变快时很难测、也难换框架。本技能把 整洁架构(Clean Architecture) 与 领域驱动设计(DDD) 落成可执行的编码约定:领域语言怎么命名、用例边界怎么划、基础设施与业务逻辑怎么分开。
技能如何指导开发
- 代码风格:优先 提前返回 减少嵌套;单函数尽量控制在约 50 行、单文件约 200 行;倾向箭头函数与可复用小模块。
- 库优先:先查 npm、SaaS 与第三方 API(例如用
cockatiel做重试),再考虑自研;自研留给领域规则、性能关键路径、安全与现有方案确实不够用的场景。 - 架构与命名:避免
utils/helpers/common等泛化名;用OrderCalculator、UserAuthenticator等有界上下文语义;业务逻辑不进 UI,查询不进控制器。 - 反模式清单:NIH(自建 Auth/状态/表单校验)、关注点混杂、以及「万能 helpers」文件。
- 质量底线:类型化
catch、嵌套不超过约 3 层、复杂逻辑拆成小函数。
适用边界
这是 原则与惯例 导向的技能,不替代你们团队已有的架构评审流程或具体技术栈选型文档;也未覆盖部署、观测、安全合规的完整清单。在 monorepo、遗留大文件或强框架约束的项目里,需要结合现状做渐进式拆分,而不是机械套用行数上限。
使用场景
- 新功能评审时发现业务规则写在 React 组件里,需要按用例拆分并迁到独立领域模块
- 在 Express/Nest 控制器中直接拼 SQL,计划把查询下沉到仓储层并保留控制器只做编排
- 评估重试、鉴权、表单校验时,用技能里的库优先清单决定接 Auth0 还是自研
- 遗留 `utils.js` 与 `helpers/misc.js` 膨胀,需要按有界上下文重命名为领域服务文件
适合人员
- 负责代码评审的后端工程师,希望阻止控制器里出现数据库查询与混杂的业务分支
- 前端技术负责人,需要把表单校验与计价逻辑从 UI 组件迁出并建立命名约定
- 新服务立项时的架构负责人,要在团队内统一 DDD 命名与「避免 utils 垃圾场」的落地规则
- 从单体拆模块的维护者,需要按 200 行文件与 50 行函数上限渐进拆分而不推翻现有框架