ch01-11 本书项目目录规范
先看问题
这一节不急着进源码。先用“本书项目目录规范”回答一个更基础的问题:如果要构建真实交易应用,哪些概念必须先讲清楚,哪些细节可以等到后面再拆。
本节坐标
本节先把源码范围缩到最少。读的时候只抓产品边界、对象名称、函数入口和事件线索;后面进入交易路径时,再回到这些入口核对细节。
book/ch01book/ch02book/ch03- packages/deepbook
这一组入口用来校准产品边界:先看它们暴露哪些对象和动作,再判断本节概念最终会落到哪条交易或数据路径。
建立直觉
书稿正文放在 book/chXX/README.md。每章示例放在同章 code/ 下,目录名使用 sNN-topic。示例 README 必须写清依赖、环境变量和运行方式。
Move 示例必须给出 sui move build 和 sui move test。TypeScript 示例优先给出 pnpm install、pnpm tsx。Indexer 示例必须说明 PostgreSQL、环境变量和 API 请求响应。
本章只创建 README 级示例,后续章节可以把 README 中的命令扩展成实际脚本。
阅读补充
书稿目录服务于学习路径,不服务于上游协议构建。sections 负责解释,code 负责可运行或可复现的练习,README 负责本章地图。引用上游源码时写绝对路径,是为了让读者明确自己正在读哪个仓库。
新增练习时优先放在对应章节的 code/sXX-* 目录,并在小节中说明它验证了哪条交易路径或源码概念。不要把一次性笔记散落在章节根目录,否则后续很难维护。
落地判断
- 每个小节只解释一个主题,跨章节概念用链接或后续章节入口承接。
- 练习代码目录名要能表达任务,不只写 demo。
- 引用上游源码时保留绝对路径,引用本书练习时也说明章节位置。
读完以后问自己
sections、code、章节 README 分别承担什么职责?- 新增练习为什么要放进
code/sXX-*? - 书稿仓库和 DeepBook 源码仓库为什么要分开?