Compare commits

...

1 Commits

@ -1,65 +0,0 @@
大模型修改代码一览表
项目:数学学习软件
日期2025-10-12
概述
- 本表记录使用大模型协助完成的代码修改,包含目的、文件位置、变更摘要、影响范围与验证方式,便于作业提交与审阅。
1) 声明 java.desktop 模块
- 文件src/main/java/module-info.java
- 目的:使 `java.awt.Desktop` 可见,修复编译错误
- 变更:添加 `requires java.desktop;`
- 验证:`mvn -q javafx:run` 执行成功,应用可正常运行
2) 后端长方法重构(保证功能不变)
- MailService.send约60行 → 精简至40行以内
- 文件src/main/java/com/coproject/service/MailService.java
- 变更摘要:提取为 `trySendViaSmtp()`、`buildSmtpProperties()`、`buildMessage()` 三个私有方法;保持 SMTP 发送与失败时写入 `outbox.txt` 的回退逻辑不变
- 验证:`mvn -q -DskipTests compile` 成功
- JsonStorage 构造器约51行 → 精简至40行以内
- 文件src/main/java/com/coproject/storage/JsonStorage.java
- 变更摘要:拆分为 `initUserDir()`、`migrateLegacyData()`、`initUserJson()`、`initPapersJson()`、`initPapersTextFile()`、`initPapersDirs()`、`initUserMapCsv()` 等私有方法;保持初始化与迁移行为一致
- 验证:编译成功
- JsonStorage.appendPaperText约48行 → 精简至40行以内
- 文件src/main/java/com/coproject/storage/JsonStorage.java
- 变更摘要:提取 `buildPaperText()` 与 `appendQuestionBlock()`;严格保留文本输出格式
- 验证:编译成功
- JsonStorage.exportPaperTextFile>40行 → 精简至40行以内
- 文件src/main/java/com/coproject/storage/JsonStorage.java
- 变更摘要:提取 `buildExportFileName()`、`buildExportText()`、`appendExportQuestionBlock()`;严格保留导出文本格式
- 验证:编译成功
3) 题目生成规则统一(各学段操作数与取值范围)
- 文件src/main/java/com/coproject/service/UnifiedQuestionEngine.java
- 目的:统一各学段题目复杂度与范围,满足作业要求
- 变更摘要:
- 小学:操作数数量统一为 15各操作数值在 1100
- 初中:操作数数量统一为 15常数在 1100根号项使用完全平方数且 `n ≤ 100`(基数 210
- 高中:操作数数量统一为 15常数在 1100保留三角函数题干选项构造逻辑
- 移除旧过滤:删除对“仅根号项”题干的拦截(`UnifiedQuestionEngine.generateChoiceQuestion` 与 `QuestionService.generate`)以符合 15 操作数的新规则
- 影响:题干与选项构造更一致,边界值更安全
- 验证:`mvn -q -DskipTests compile` 成功
4) UI 校验与提示(题量必须为 1030 的正整数)
- 文件src/main/resources/fxml/grade_select.fxml
- 变更输入框占位改为“输入10-30的正整数”新增可见提示“范围10-30”
- 文件src/main/java/com/coproject/controller/GradeSelectController.java
- 变更:初始化时设置 Tooltip 与提示文案;`onStart()` 中新增严格区间校验(非法输入直接提示并阻止进入答题)
- 调整移除旧的“超过50自动设为50”的上限保护改为必须满足 1030 区间
- 验证:编译成功
5) 运行与打包(说明未改动)
- 运行:`mvn -q javafx:run`
- 编译:`mvn -q -DskipTests compile`
- 打包:`mvn -q -DskipTests package`(如需 MSI 打包,参见 README 与 jpackage 配置)
影响范围与收益
- 统一题目生成规则,提升一致性与可控性
- 强化 UI 输入校验,降低错误操作与异常风险
- 重构后端长方法,提高可读性与可维护性,便于后续扩展
回滚与兼容
- 所有变更均为向后兼容的内部重构或参数范围调整;如需回滚,可逐文件恢复变更前版本即可(不涉及数据库结构变更)。
备注
- 非后端的测试/演示方法(如 SimpleLauncher、ConsoleTest、TestApp 中的调试方法)未纳入本次重构范围。
Loading…
Cancel
Save