这次练习:三人晚餐,怎么分一笔账?
「可为旅行记账」照顾多人出游时的共同开销。我们从这个实际需求中,提炼一个更小的起步练习:只处理一笔晚餐,只使用人民币。
下文人物与数字均为虚构教学示例;四步是需求拆解练习,不代表实际项目的开发顺序。
了解旅行记账的产品背景谁,在什么场景下需要它?
先找一个正在发生的时刻,而不是列出一串功能。
示例:晚餐结束,要把账分清楚。
甲、乙、丙一起旅行。甲付了晚餐的 300 元,三人决定平均分摊。甲想知道自己该收回多少,乙和丙想知道各自该还多少。
一句需求:给一起出游的三位朋友,在共同用餐后,算清一笔人民币开销的分摊。
换成你的需求:谁正在做什么?哪一步不顺手?写下使用者、发生时刻和期待的结果。
这一版,只解决一件事。
把想做的东西缩成一个可完成的操作。这个练习的任务是:输入一笔金额和付款人,看见三人的平均分摊结果。
最短的一条使用路径
输入金额 → 选择付款人 → 确认甲、乙、丙参与 → 查看分摊与应收、应付。
输入:300 元、付款人甲、参与者甲乙丙。
输出:每人承担 100 元;甲应收回 200 元,乙和丙各向甲还 100 元。
暂时不用决定页面有多漂亮。先确认使用者能从输入走到自己需要的答案。
写清楚做到哪里,就可以停。
边界越具体,越容易和 AI 配合。把“这次做”与“以后再看”一起写进需求卡。
这个练习的第一版
- 固定三位参与者:甲、乙、丙。
- 只处理一笔人民币开销,三人平均分摊;金额最多两位小数。
- 可以选择其中一位付款人,修改金额后重新计算。
- 金额为空、为零或为负数时,提示输入有效金额。
- 遇到分不尽的分,按参与者顺序分配余数,三人承担的总额与账单一致。
后续再考虑:多笔记录、人数变化、不同比例、多币种、线上分享与账号。先完成这一笔,再用反馈决定下一步。
真实的旅行记账 App 已经覆盖更多旅途细节;此处刻意缩小的是学习练习的范围。
给出例子,才知道有没有做对。
“好用”还不够具体。用输入和预期结果,把完成条件写下来。
可验证的四个结果 · 虚构示例
- 输入 300 元、甲付款:每人承担 100 元,甲应收 200 元,乙和丙各应付 100 元。
- 把金额改成 360 元:每人承担 120 元,甲应收 240 元,乙和丙各应付 120 元。
- 输入 100 元:甲承担 33.34 元,乙、丙各承担 33.33 元;合计 100 元,甲应收 66.66 元。
- 清空金额,或输入 0、负数:出现有效金额提示,不生成分摊结果。
把需求卡交给 AI,可以这样问。
复制下面的提示词,先请 AI 检查需求,再开始实现。
请帮我检查这份第一版需求卡,先不要写代码。 使用者与场景:甲、乙、丙一起旅行,晚餐后需要分清一笔共同开销。 这次只做:输入一笔人民币金额、选择一位付款人,显示三人的平均分摊和应收、应付。 第一版边界:固定三人,一笔开销;金额最多两位小数,可修改后重算;不做多币种、线上分享、账号和多笔记录。 金额规则:空白、零、负数要提示;分不尽的分按甲、乙、丙顺序分配,合计必须等于原金额。 验收示例:300 元、甲付款,每人 100 元,甲应收 200 元;100 元时甲承担 33.34 元,乙丙各 33.33 元,甲应收 66.66 元。 请先复述使用路径,指出仍有歧义的地方,给出可以逐项检查的完成清单。不要替我增加功能。 (人物、金额均为教学示例。)
AI 给出建议后,回到你写下的场景逐项核对。决定哪些建议有帮助,再修改需求卡。
带走模板,写你的第一份需求卡。
模板是一份 Markdown 文本,可以在笔记软件或文本编辑器中填写,再复制给 AI。把练习案例换成你自己遇到的具体问题。
下载需求卡模板自检勾选只用于当前阅读,不保存或提交。本文为公开导读,完整课程仍在筹备。
