93 lines
2.2 KiB
Markdown
93 lines
2.2 KiB
Markdown
---
|
|
applyTo: "MainShell/Recipe/**/*.cs,MainShell/Parameter/**/*.cs,MainShell/Log/**/*.cs,MainShell/Filewritable/**/*.cs,MainShell/Process/**/*.cs"
|
|
---
|
|
|
|
# Recipe, Persistence, and Logging Instructions
|
|
|
|
## Recipe System
|
|
Recipe hierarchy includes:
|
|
- IRecipe
|
|
- RecipeBase
|
|
- SubstrateRecipe
|
|
- WaferRecipe
|
|
- CarrierRecipe
|
|
- ProcessRecipe
|
|
|
|
Use existing recipe abstractions and managers:
|
|
- RecipeManager
|
|
- RecipeWrapManager
|
|
|
|
Do not bypass repository recipe patterns by creating incompatible configuration systems.
|
|
|
|
## 中文说明
|
|
配方系统遵循现有层级:
|
|
- `IRecipe`
|
|
- `RecipeBase`
|
|
- `SubstrateRecipe`
|
|
- `WaferRecipe`
|
|
- `CarrierRecipe`
|
|
- `ProcessRecipe`
|
|
|
|
应优先复用:
|
|
- `RecipeManager`
|
|
- `RecipeWrapManager`
|
|
|
|
不要绕开现有配方体系再新建一套不兼容的配置系统。
|
|
|
|
## Parameter and Process Input Rules
|
|
- Prefer reading process inputs from recipe objects and formal managers
|
|
- Do not pull process parameters from UI state when repository recipe/domain objects already exist
|
|
- Keep process input sources explicit and traceable
|
|
|
|
## 中文说明
|
|
参数和流程输入规则:
|
|
- 优先从配方对象和正式管理器中读取流程输入
|
|
- 如果已有正式领域对象,不要从 UI 状态中取流程参数
|
|
- 输入来源要明确、可追踪
|
|
|
|
## File Persistence Rules
|
|
Persistence follows:
|
|
- IFileWritable
|
|
- FileWriteBase
|
|
- JsonFileWritableBase
|
|
|
|
Use:
|
|
- FileWriteQueue for async queued file writes
|
|
- Newtonsoft.Json for JSON serialization
|
|
|
|
Reuse IgnorePropertiesResolver when selective serialization is needed.
|
|
|
|
## 中文说明
|
|
文件持久化遵循现有架构:
|
|
- `IFileWritable`
|
|
- `FileWriteBase`
|
|
- `JsonFileWritableBase`
|
|
|
|
应优先使用:
|
|
- `FileWriteQueue` 进行异步写入队列管理
|
|
- `Newtonsoft.Json` 进行 JSON 序列化
|
|
- 需要选择性序列化时复用 `IgnorePropertiesResolver`
|
|
|
|
## Logging Rules
|
|
- Use `LogNameDefine` for log names
|
|
- Use `LogManager` for unified log management
|
|
- Keep logs consistent with existing MaxWellGeneralLog usage
|
|
|
|
## 中文说明
|
|
日志规则:
|
|
- 日志名称统一在 `LogNameDefine` 中定义
|
|
- 通过 `LogManager` 统一管理
|
|
- 保持与现有 `MaxWellGeneralLog` 用法一致
|
|
|
|
## Logging Expectations
|
|
Generated code should:
|
|
- log major workflow and hardware steps
|
|
- log failures with enough context
|
|
- preserve traceability for production and troubleshooting
|
|
|
|
## 中文说明
|
|
生成代码时,日志应满足:
|
|
- 关键流程步骤和硬件动作有日志
|
|
- 失败日志包含足够上下文
|
|
- 能支持生产追溯和现场排障
|