第 3 节:从一笔早餐 10.5 元开始设计数据结构
产品一开始不要急着设计数据库。
先看一条真实记录。
比如这笔:早餐 10.5 元。
它看起来很小,小到不像一个“产品问题”。但记账 App 里很多关键设计,其实都藏在这一笔小钱里。
用户输入的是一句很自然的话:早餐10.5。
但系统真正要保存的,不只是“早餐10.5”这几个字。它至少要知道:这是一笔支出,金额是 10.5,分类大概率是吃饭,时间是今天,备注是早餐,并且它要进入本月统计。
这就是数据结构的起点。
先别把字段设计得太复杂
做记账工具,很容易一上来就把字段设计满。
账户、商户、支付方式、标签、发票、地点、项目、成员、报销状态。
这些字段不是没用。
但第一版如果一口气把它们都加进去,用户每记一笔都要面对一张很重的表单。
蜡笔小账本第一版要解决的是“轻一点记下来”,所以字段也要跟着轻。
一笔支出最早只需要几个字段:
- 金额:这笔钱是多少。
- 类型:收入还是支出。
- 分类:吃饭、交通、购物,或者其他。
- 备注:早餐、午餐、打车这类自然语言。
- 时间:这笔记录发生在哪一天。
够了。
不是因为别的字段永远不需要,而是第一版先不让字段压住用户。
数据结构要服务统计,而不是只服务保存
保存一条记录很容易。
难一点的是:这条记录以后能不能被统计。
比如早餐 10.5 元保存下来之后,首页要显示本月已花,分类占比要把它放进“吃饭”,消费明细要能按时间排序,月底还要能汇总。
所以数据结构不能只想着“我把文字存下来就好”。
它要让后面的统计有路可走。
一条记录可以理解成这样:
{
"type": "expense",
"amount": 10.5,
"category": "food",
"note": "早餐",
"date": "2026-07-06 11:54"
}
这不是为了显得技术化,而是为了让每一个字段都有后续用途。
amount 进入总支出。
category 进入分类占比。
note 让用户看得懂。
date 决定它属于哪一天、哪一月。
数据结构的好坏,不在于字段多,而在于每个字段是不是能支撑产品反馈。
用户看到的是一句早餐,系统看到的是一条记录
用户不关心 category 叫不叫 food。
用户也不关心时间戳怎么存。
用户只关心:我刚刚记的早餐,有没有进账本。
所以产品界面要尽量自然,数据层要尽量清楚。
这两件事不能混在一起。
界面可以轻,底层不能糊。
如果底层只存一段文字,后面做分类、报表、每日小报都会很吃力。反过来,如果界面把所有底层字段都暴露给用户,记账又会变得很累。
好的第一版,是在中间找平衡。
分类不要一开始就追求完美
记账分类也很容易做复杂。
你可以拆成早餐、午餐、晚餐、咖啡、奶茶、零食,也可以拆成餐饮、交通、购物、娱乐。
分类越细,报表越精确。
但分类越细,用户越容易卡住。
第一版更适合用少量大分类。
比如“吃饭”就先装下早餐、午餐、晚餐和咖啡。
等用户真的开始长期使用,再看有没有必要拆得更细。
分类不是设计师在纸上越想越完整的东西。它最好来自真实记录。
如果一个分类经常被用到,再把它细分。
如果一个分类很少出现,就没必要提前占一个位置。
时间字段决定了很多后续功能
早餐 10.5 元不只是金额,它还属于某一天。
这个“某一天”会影响很多功能。
本月已花要靠它判断是不是这个月。
昨日小报要靠它判断是不是昨天。
消费明细要靠它排序。
打卡天数也要靠它判断用户有没有在这一天记账。
所以时间字段不能随便。
哪怕第一版界面很简单,记录时间也要保存清楚。后面你做日报、月报、趋势图时,才不会发现自己当初缺了一块地基。
这是做小产品很常见的经验:有些字段现在看不出价值,但一旦漏掉,后面补起来会很痛。
本节小结
一笔早餐 10.5 元,表面上只是一条消费。
但它背后至少有金额、类型、分类、备注和时间。
第一版数据结构不需要复杂,但一定要让后续统计能跑起来。
下一节,我们会继续往前走:当数据能保存之后,首页应该先展示什么?为什么蜡笔小账本不先把流水列表放在最显眼的位置,而是先显示“本月已花”。
FAQ
为什么不直接把用户输入的原话保存下来?
只保存原话很简单,但后面很难统计。记账 App 至少要能按金额、分类和时间汇总,所以需要把自然语言拆成结构化字段。
第一版分类应该做细吗?
不建议一开始太细。少量大分类更容易坚持使用,等真实记录变多以后,再根据高频消费拆分类。
时间字段为什么重要?
因为本月统计、昨日小报、明细排序、打卡天数都依赖时间。如果第一版时间存得不清楚,后面很多功能都会变难。
数据结构是不是越完整越好?
不是。第一版的数据结构要够用、可统计、可扩展,但不要为了未来的想象把字段堆得太重。
用 AI 写代码时,数据结构要自己想吗?
要。AI 可以帮你实现,但哪些字段真正重要,应该由产品目标决定。你越清楚这条记录未来要怎么被使用,AI 写出来的代码越稳。

评论
登录后即可参与讨论 💬
登录 / 注册后评论