📄 一句话概括
初始化时先定规矩而不是先写功能;五项产出里最容易被忽略的是【一个假数据】——没有输入,最后才发现流程跑不通就来不及了。
📝 本节和前面几节的关系
上一节定了要做什么,这一节把它变成一个能跑起来的空壳。
一、初始化该产出五样
目录骨架(职责不混)、规则文件(第 5 章那四块)、一条命令(跑一次就出结果)、 一个假数据、版本管理(装好且已存第一档)。 本节的演示把它们逐条列出,附上【为什么现在就要】。
二、为什么先定规矩而不是先写功能
功能随时能写,规矩错过第一次开工就补不回来了。 因为规矩是写给它的——它没读过你的项目,就只能按默认来。 第 5.1 节说过:规则写错了它只是默默做错事,你不会被提醒。
三、【一个假数据】为什么最容易被忽略
它决定了后面所有阶段能不能顺利。 没有输入,你就只能等真数据——等到最后才发现流程跑不通,那就晚了。 三个假数据就够:一个正常的、一个缺字段的、一个格式怪的。第三个专门用来测报错。
四、【一条命令】的价值
跑一次就能出结果,不靠手点。 这一点和第 7.6 节的 command 是同一个道理:把每次都要做的那一串固定下来。 手点着跑,第一次和第十次跑的就不是同一个东西了。
五、动手 Demo:Phase 1——项目初始化
下面把初始化该产出的五样摆开,各附一条理由。
items = [(u"目录骨架", u"src/、data/、out/ 三层,职责不混"),
(u"规则文件", u"把第 5 章那四块写进去"),
(u"一个假数据", u"没有输入也能跑通,出样例文件"),
(u"版本管理", u"装好,且已经存了第一档")]
实跑输出:
--------------------------------------------------------------------
Phase 1——项目初始化
--------------------------------------------------------------------
初始化时先定规矩,而不是先写功能。下面是一个初始化该产出的清单:
产出什么 为什么现在就要
------------------------------------------------
目录骨架 src/、data/、out/ 三层,职责不混
规则文件 把第 5 章那四块写进去
一条命令 跑一次就能出结果,不靠手点
一个假数据 没有输入也能跑通,出样例文件
版本管理 装好,且已经存了第一档
最后一条【一个假数据】最容易被忽略,但它决定了后面所有阶段能不能顺利——
**没有输入你就只能等真数据,等到最后才发现流程跑不通。**
【一个假数据】那行最容易被人跳过,但它决定了后面所有阶段能不能顺利。 本节的提醒:没有输入就发现不了流程问题——三个假数据就够,其中一个专门测报错。
30 秒实验
- 现在就把你的项目的五样初始化做出来,尤其是三个假数据。
- 跑一次那条命令——只要一条命令就能出结果,这个项目才算立住了。
常见误区
- 先写功能,规矩以后补。规矩错过第一次开工就补不回来。
- 只放一个正常数据。缺字段和格式怪的那两个,专门是用来测报错的。
自测三问(点开对答案)
1. 初始化该产出哪五样? —— 目录骨架、规则文件、一条命令、一个假数据、版本管理。 2. 为什么先定规矩再写功能? —— 规矩是写给它的,它没读过你的项目就只能按默认来——错过第一次开工补不回来。 3. 假数据要准备几个、分别是什么? —— 三个:正常的、缺字段的、格式怪的;第三个专门测报错。- ☐ 下一节(9.4 Phase 2:正式开发(最耗时但也最有成就感的部分))
相关笔记
- 💻 计算机是怎样跑起来的 · 索引 — 项目结构与模块划分
- 🧡 Claude Code橙皮书 · 索引