first commit
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# 图表类型内容提取策略
|
||||
|
||||
每种图表需要从代码库中提取不同维度的信息。以下是通用的提取策略,适用于任何语言/框架的项目。
|
||||
|
||||
## 通用提取规则
|
||||
|
||||
### 组件识别
|
||||
- 入口文件中的初始化/注册代码
|
||||
- 依赖注入容器(Wire, Spring, 等)
|
||||
- 包/模块的公开接口
|
||||
- 配置文件中引用的外部服务
|
||||
|
||||
### 关系识别
|
||||
- import/require 语句
|
||||
- 函数调用链(谁调用了谁)
|
||||
- 接口实现关系
|
||||
- 事件发布/订阅
|
||||
|
||||
### 数据流识别
|
||||
- 函数参数和返回值
|
||||
- 消息队列的 topic/producer/consumer
|
||||
- API endpoint 的 request/response
|
||||
- 数据库读写操作
|
||||
|
||||
### 流程识别
|
||||
- 主循环 / 事件循环
|
||||
- 中间件链 / handler 链
|
||||
- 状态机转换
|
||||
- 错误处理 / 重试逻辑
|
||||
|
||||
## 按语言的搜索模式
|
||||
|
||||
### Go
|
||||
- 接口: `type \w+ interface`
|
||||
- 结构体: `type \w+ struct`
|
||||
- 函数签名: `func \([^)]+\) \w+`
|
||||
- 依赖注入: `New\w+\(.*\w+Client`
|
||||
- Goroutine/Channel: `go func`, `chan `
|
||||
- 错误处理: `if err != nil`
|
||||
|
||||
### Python
|
||||
- 类: `class \w+`
|
||||
- 函数: `def \w+`
|
||||
- 装饰器: `@\w+`(路由、依赖注入)
|
||||
- 异步: `async def`, `await `
|
||||
- 导入: `from .* import`, `import `
|
||||
|
||||
### TypeScript/JavaScript
|
||||
- 类: `class \w+`
|
||||
- 接口: `interface \w+`
|
||||
- 导入: `import .* from`
|
||||
- 路由: `app\.(get|post|put|delete)`
|
||||
- 中间件: `\.use\(`
|
||||
|
||||
## 信息提取深度
|
||||
|
||||
- **架构图/组件图/部署图**: 只需包级/模块级信息,读 CLAUDE.md + 入口文件即可
|
||||
- **序列图/通信图**: 需要函数调用链,读关键源码文件
|
||||
- **类图/对象图**: 需要类型定义,读 types/model 文件
|
||||
- **流程图/活动图/泳道图**: 需要主流程代码,读 pipeline/orchestrator/handler 文件
|
||||
- **数据流图**: 需要数据结构 + 变换逻辑,读 processor/converter 文件
|
||||
- **用例图**: 读 CLAUDE.md + router/api 文件
|
||||
Reference in New Issue
Block a user