AI辅助开发的迭代记录与心得

从需求到验收:AI 辅助开发校园消费记账工具的迭代记录

一、项目需求与目标

本次作业中,我选择了“个人校园消费记账 GUI”作为开发主题,希望通过一个简单直观的界面,帮助大学生记录日常消费、了解支出结构,并合理安排生活费。

在开始开发之前,我先将需求细化为五个部分:

  • 日常记账:记录消费金额、日期、分类和备注。
  • 记录管理:查看消费明细,支持删除错误记录。
  • 消费统计:展示本月总支出和各分类支出。
  • 预算提醒:设置月度预算,提示预算使用情况。
  • 本地保存:刷新页面后保留已有记录。

技术实现采用 HTML、CSS 和 JavaScript,通过 localStorage 保存数据。整体过程分为初版生成、问题检查、三次迭代修改和最终验收。

二、第 1 轮:生成初版

我给 AI 的提示词

请使用 HTML、CSS 和 JavaScript 开发一个校园消费记账 GUI,使用中文界面。用户可以输入消费金额、日期、分类和备注,分类包括餐饮、交通、学习、购物、娱乐和其他。页面需要展示消费记录、本月总支出和分类统计,支持新增、删除记录,并使用 localStorage 保存数据。请说明主要代码的作用。

AI 生成的初版要点

AI 生成了包含录入表单、消费列表和统计区域的页面,实现了新增记录、删除记录和本地保存等基本功能。页面结构与需求基本一致,能够完成一次完整的记账操作。

我阅读了表单提交、数据保存和统计更新部分的代码,重点检查数据从输入到展示的处理过程。这一轮让我确认,初版已经具备基本功能,但输入限制和边界处理还需要完善。

三、第 2 轮:第一次迭代,完善输入校验

发现的问题

初版对输入是否合法的检查不够完整,金额为零、负数或小数位过多时,缺少明确的处理规则。直接保存这些数据会影响统计结果,因此我优先修改了输入校验。

我给 AI 的修改要求

请完善表单校验:金额必须是大于 0 的有效数字,最多保留两位小数;日期和分类不能为空;备注不能超过 100 字。输入不合法时,在对应字段附近说明错误原因,不新增记录,并保留已输入内容。金额请转换为整数“分”后存储和计算,展示时统一保留两位小数。

AI 实际修改了什么

AI 增加了统一的表单校验逻辑,只有全部字段通过检查后才保存记录。金额计算改为使用整数分,展示时再转换为元,同时补充了具体的错误提示。

修改后,我检查了空值、零、负数和超过两位小数的输入,确认这些情况都会被拦截,错误记录不会进入列表和统计。

四、第 3 轮:第二次迭代,补充月份筛选与预算提醒

发现的问题

基础统计能够展示支出,但还需要明确月份范围,避免不同月份的数据混在一起。另外,单独展示消费金额不能直接反映预算是否充足,因此我补充了预算管理功能。

我给 AI 的修改要求

请增加月份选择功能,默认显示当前月份,消费列表、总支出和分类统计都按照所选月份更新。允许按月份设置预算,预算必须大于 0,最多两位小数。支出达到预算的 80% 时提示“接近预算”,达到 100% 时提示“预算已用完”,超过后显示超支金额。未设置预算时显示“未设置预算”,不要计算使用比例。

AI 实际修改了什么

AI 增加了月份筛选,将列表和统计统一建立在筛选后的记录上,并按月份保存预算。页面补充了预算金额、剩余额度和状态提示,预算判断优先处理超支和预算用完的情况。

修改后,我通过切换月份检查数据范围,并检查了预算临界值附近的提示,确认不同状态能够正确区分。

五、第 4 轮:第三次迭代,改善删除流程和异常处理

发现的问题

在继续检查时,我发现删除操作需要增加确认步骤,避免误操作;没有记录时也应该提供明确的空状态。此外,本地数据读取和保存失败时,应让用户知道发生了什么。

我给 AI 的修改要求

请为每条消费记录生成唯一 ID,删除时按 ID 定位并弹出确认提示。取消删除时不改变数据,确认后同步更新列表、统计和本地存储。没有记录时显示“暂无消费记录”。读取本地数据失败时显示错误提示,不要直接覆盖原始内容;保存失败时也要提示,不能显示保存成功。

AI 实际修改了什么

AI 调整了删除流程,使用唯一 ID 定位记录,并增加确认操作。页面补充了空状态展示、本地数据解析异常处理和保存失败提示。

修改后,删除操作对统计和预算的影响能够同步体现,取消删除也不会改变已有记录。

六、我的检查与验证说明

我采用了正常流程检查、边界输入检查和人工计算对照三种方式进行验收。验证时,我没有只看页面是否显示结果,还检查了结果之间是否一致。

验证项目 检查方法 验证结果
新增记录 输入合法的金额、日期和分类后提交 记录正常加入列表,统计同步更新
非法输入 分别输入空金额、零、负数和超过两位小数的金额 显示对应错误提示,不生成记录
金额统计 手工计算多条记录的合计,与页面结果比较 总支出与人工计算一致
分类统计 将各分类金额相加,并与总支出比较 分类合计与总支出一致
月份筛选 添加不同月份的记录,再切换月份 列表和统计只包含所选月份的数据
预算提醒 检查接近预算、恰好用完和超支三个状态 提示内容与当前支出情况一致
删除操作 分别执行取消删除和确认删除 取消后数据不变,确认后各区域同步更新
数据持久化 新增记录、设置预算后刷新页面 消费记录和预算正常保留
空状态与异常 清空记录,并检查本地数据异常情况 页面显示相应提示,没有静默覆盖异常数据

交叉验证时,我重点检查了三个关系:消费明细之和是否等于总支出,各分类支出之和是否等于总支出,以及删除一条记录后总额的减少值是否等于该记录金额。

这些检查帮助我确认,页面各部分使用的是一致的数据,而不只是各自显示一个看起来合理的数字。

七、验收自评

本次作业完成了校园消费记账工具的基本功能,能够演示新增、删除、统计、预算提醒和数据保存的完整流程。初版之后进行了三次修改,每轮均记录了发现的问题、给 AI 的修改要求和实际改动,并通过运行样例、边界检查和人工计算进行了验证。

目前的数据保存在当前浏览器中,适合个人日常使用。跨设备同步、数据导出等功能可以作为后续扩展方向。

八、心得体会

这次实践中,我最大的感受是:与 AI 协作的效果,很大程度上取决于需求是否表达清楚,以及反馈是否足够具体。

第一轮提出基本需求后,AI 能较快生成完整的界面和代码结构,这一点让我感到惊喜。但初版对输入边界、预算状态和异常情况的处理不够周全,也让我认识到,生成了代码并不意味着完成了任务。

在后续修改中,我逐渐把“完善一下功能”换成了明确的描述,例如指出不合法的输入有哪些、错误时应显示什么,以及哪些数据不能发生变化。这样的反馈更容易让 AI 理解问题,也让我能够直接判断修改是否符合预期。

这次作业也加深了我对软件工程的理解。一个软件是否可靠,取决于需求、实现、测试和维护等多个环节。开发者需要明确规则,检查代码,并为结果负责。AI 可以提高实现效率,而我需要通过持续审查和验证,把这些输出逐步完善为能够正确工作的软件。

posted @ 2026-10-13 10:14  cpta  阅读(3)  评论(0)    收藏  举报