代码生成平台 PDD(Product Definition Document)

Product Definition Document

1. 产品愿景(Product Vision)

构建一个面向后端、前端、测试、DevOps 等多角色的通用代码生成平台,通过 DSL(Domain-Specific Language)、模板中心、生成器引擎,实现从模型 → 模板 → 多语言代码自动生成,大幅降低重复性编码成本,加速需求交付效率,打造企业级“低门槛、高扩展、安全可控”的自动化研发基础设施。

目标: 成为企业内部的统一代码生成基础设施平台(Unified Code Generation Infrastructure),持续提升研发效率 20%~40%。


2. 产品目标(Product Objectives)

目标 描述
降低重复开发 支持模型 + 模板自动生成重复性代码,减少 CRUD、API、DTO、单测脚手架等人工编码。
标准化技术栈 将最佳实践固化为模板,使团队开发结构统一、质量可控。
多语言支持 支持 Java、TypeScript、SQL、YAML、Python 等。
可插拔扩展 支持插件化模板、插件化 DSL、插件化生成器。
自动化贯通 输出可直接运行的工程代码,而不只是片段。
治理与可控 保证平台可审计、可回溯、可权限化,满足企业级监管需求。

3. 产品范围(Product Scope)

3.1 在范围(In Scope)

  • 模型定义(领域模型、API、数据库模型)
  • 模板中心(前端 / 后端 / 测试等模板)
  • DSL 定义及解析器
  • 代码生成器(Generator Engine)
  • 模板包管理(版本、依赖、升级)
  • 可视化建模界面(低代码)
  • 一键生成工程脚手架
  • 与 SCM(Git)集成(推送分支、PR)
  • 权限管理、操作审计、模板使用统计

3.2 不在范围(Out of Scope)

  • 完整的低代码业务流程设计工具(如 Flowable/BPM)
  • 数据库建模工具(只支持导入,不做可视化建模编辑器)
  • AI 自动写代码(将作为后续扩展模块)
  • 非技术人员使用(目标用户为研发相关角色)

4. 用户画像(User Personas)

4.1 后端开发

  • 目标:快速创建后端工程、Druid 配置、Controller/Service/Repository;
  • 需求:生成统一规范的 CRUD、DTO、VO、接口文档。

4.2 前端开发

  • 目标:生成页面、组件、API 调用模块;
  • 需求:保持前端技术栈统一。

4.3 测试工程师

  • 目标:生成自动化测试脚本框架;
  • 需求:自动生成 API mock、测试用例模板。

4.4 架构师

  • 目标:制定企业最佳实践,并以模板方式沉淀;
  • 需求:可控、可治理、可拓展。

4.5 DevOps/平台团队

  • 目标:统一研发流程;
  • 需求:版本管理、模板发布审批、操作审计日志。

5. 产品价值主张(Value Proposition)

价值 说明
提升研发效率 平均每个需求减少 30%~50% 重复编码时间。
技术标准化 全公司代码结构统一,遵守规范,减少 review 成本。
降低维护成本 模板升级 → 全公司工程自动受益。
降低学习成本 新人通过模板即可快速写出高质量代码。
避免人为差异 所有工程初始化、API 标准化自动完成。

6. 顶层能力(Core Capabilities)

6.1 模型中心(Model Center)

  • 支持领域模型、API 模型、数据库模型
  • 支持模型导入:OpenAPI / Swagger / ERD / DDL
  • 支持基于 DSL 的模型描述

6.2 模板中心(Template Center)

  • 模板包管理(版本、依赖、发布、审核)
  • 模板 DSL(用于描述生成逻辑)
  • 模板元数据:描述适用场景、语言、生成路径
  • 模板调试模式(实时预览)

6.3 DSL 引擎(DSL Engine)

  • 统一 DSL 标准
  • 多级 DSL:Model DSL / Template DSL / Transform DSL
  • 可扩展:允许用户自定义 DSL 语法
  • AST(抽象语法树)解析能力

6.4 代码生成器(Generator Engine)

  • 支持模板 + 模型 = 代码文件
  • 增量生成 / 全量生成
  • 文件冲突检测与合并策略
  • 生成日志、生成历史记录
  • 支持流水线生成

6.5 工程初始化器(Project Scaffolding)

  • 一键生成项目骨架(front-end、back-end、CI、目录结构)
  • 支持依赖自动接入

6.6 集成能力

  • Git 集成:Push、PR、Branch
  • API 导出 / 导入
  • 可与 AI 编程助手协作

7. KPIs(Product KPIs)

指标 目标
研发效率提升 同类需求平均开发时长减少 30%~40%
模板覆盖率 30+ 企业最佳实践模板沉淀
代码一致性 API、工程结构标准化达成率 > 90%
模板复用次数 每月 > 200 次
工程生成成功率 > 99%

8. 非功能性要求(NFR)

8.1 性能

  • 生成 200+ 文件的工程耗时 < 5 秒

8.2 可用性

  • UI 简单易用,无需专业培训

8.3 可扩展性

  • 允许扩展模板、DSL、插件

8.4 安全要求

  • 模板发布审批
  • 版本可追溯
  • Git 操作权限控制

9. 产品形态(Product Form)

9.1 Web 产品(主要)

  • 模型设计
  • 模板管理
  • 一键生成代码
  • 自动 Push 代码到 Git
  • 权限治理

9.2 CLI(扩展)

  • 提供命令行生成能力
  • 与 DevOps pipeline 集成

10. 竞争分析(Competitive Analysis)

产品 优点 不足 我们的差异点
Yeoman 模板生态强 DSL 弱、缺乏管理 企业治理能力、DSL 解析
Plop.js 简单、轻量 不支持复杂 DSL 模板可视化、模型驱动
JHipster 一站式 复杂、难定制 产品化、企业级治理

11. MVP 范围(MVP Scope)

模块 MVP 内容
模型中心 基础模型定义、导入 Swagger
模板中心 模板上传、模板版本管理
DSL 引擎 v1 DSL(简单语法)
生成器 基于模板生成文件
Git 集成 Push 代码到 Git
UI 基础页面、生成记录

12. 路线图(Roadmap)

第一期(0-3 个月)

  • 模板中心 v1
  • DSL v1
  • 代码生成器 v1
  • Git Push 能力
  • 后端 CRUD 模板

第二期(3-6 个月)

  • 模型中心 v2(API + DB 模型)
  • 模板调试工具
  • Git PR 能力
  • 前端模板体系

第三期(6-12 个月)