开发指南
本文面向重构阶段开发者。当前目标是先把文档、边界和 API 契约统一,再逐步调整源码。
开发原则
- 先读
docs/architecture.md。 - Lua 用户 API 以
docs/lua-api.md为准。 - Lua API 测试按
docs/lua-api-tests.md设计。 - CMake target 拆分按
docs/cmake-refactor.md推进。 - 不把旧模块继续视为 core 事实。
- 新代码应围绕
actor、net、transport、script、timer、data、config、log收敛。 - 不在
shield_core或最小主路径新增 DI/IoC、插件、服务发现、Prometheus、健康检查、中间件链依赖。 - 多进程/多机器能力归入
shield_cluster官方可选模块,不能反向污染 core。 - Lua API 必须有绑定测试。
- 用户侧 API 不暴露 CAF。
当前源码状态
源码仍保留旧架构目录,例如:
discovery/metrics/health/di/annotations/conditions/events/plugin相关代码- 独立
protocol/ - 部分
gateway/中间件代码
这些目录后续需要删除、合并或移到非核心实验区。
目标目录
text
include/shield/
├── shield.hpp
├── actor/
├── net/
├── transport/
├── script/
├── timer/
├── data/
├── config/
└── log/官方可选模块放在独立路径,例如 src/optional/shield_cluster/、src/optional/shield_global/、src/optional/shield_ops/。
构建
构建流程仍以当前 CMake 为准,但 CMake 目标也需要随重构调整。
bash
cmake -B build -S .
cmake --build build在 shield::run(argc, argv) 和最终 CLI 冻结前,不要把当前命令行形态写成稳定用户文档。
提交前检查
- 文档是否仍声称旧 Phase 1-7 已完成。
- 是否把非 core 能力描述成默认能力。
- 是否新增了 core 对旧模块的依赖。
- 是否把 cluster/global/ops 误写成最小主路径依赖。
- 示例是否和
docs/lua-api.md的契约冲突。