Update harness coding documentation templates

This commit is contained in:
QiuSW
2026-06-24 17:07:53 +08:00
parent d6c0e5b612
commit 2b4a842d7a
13 changed files with 189 additions and 79 deletions
+59 -3
View File
@@ -1,8 +1,9 @@
# API 合约
# API / 模块合约
> 本文定义后端 API 的目标形状。实现前可细化,但不要在代码里另起一套不兼容接口。
> 本文定义后端 API、本地模块、CLI 参数或事件合约的目标形状。
> 实现前可细化,但不要在代码里另起一套不兼容接口。
如果项目没有后端 API,可改成本地模块接口、CLI 参数或事件合约。
如果项目没有后端 API,删除不适用的小节,改成本地模块接口、CLI 参数或事件合约。不要默认所有项目都有 REST 后端。
## 通用约定
@@ -78,6 +79,60 @@
成功响应返回新增资源。
## 无后端项目替代写法
用于桌面工具、CLI、本地自动化脚本、纯前端本地应用等没有后端服务的项目。
### 本地模块合约
```ts
type Input = {
sourcePath: string;
options: {
dryRun: boolean;
};
};
type Result = {
ok: boolean;
outputPath?: string;
errors: Array<{
code: string;
message: string;
}>;
};
```
需要写清楚:
- 模块入口函数:【函数名 / 文件路径】。
- 输入字段:【字段、类型、必填、默认值】。
- 输出字段:【成功结果、失败结果、错误码】。
- 副作用:【读写哪些文件、调用哪些系统能力、是否联网】。
### CLI 参数合约
```bash
【命令】 --input 【路径】 --output 【路径】 --dry-run
```
需要写清楚:
- 必填参数和可选参数。
- 默认值。
- 退出码含义。
- 标准输出和错误输出格式。
### 事件合约
适用于桌面 UI、浏览器本地状态、插件或自动化流程。
| 事件 | 触发时机 | 负载 | 结果 |
| --- | --- | --- | --- |
| 【event.name】 | 【用户动作 / 系统动作】 | 【字段】 | 【状态变化】 |
需要写清楚事件来源、负载字段、状态变化和失败处理。
## 待实现时确认
- 参数校验规则。
@@ -85,3 +140,4 @@
- 重复提交是否幂等。
- 错误码枚举。
- 鉴权过期时间和刷新策略。
- 无后端项目的模块入口、CLI 参数、事件负载和副作用边界。