代码生成平台 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 性能
8.2 可用性
8.3 可扩展性
8.4 安全要求
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 个月)