Appearance
03-学习验收清单
学完一篇文章或一个阶段后,不用“看懂了”判断进度。用运行结果、测试、复盘和解释能力判断。
每篇文章的最小验收
| 检查项 | 达标标准 |
|---|---|
| 能运行 | 至少有一个命令、IDE 操作、接口请求或输出结果 |
| 能解释 | 能用 3 到 5 句话说明这个知识点解决什么问题 |
| 能改动 | 修改一个输入、字段或条件后,能预测结果变化 |
| 能定位 | 出错后能找到报错行、异常类型或配置位置 |
| 能归档 | 知道它属于语言基础、面向对象、API、数据库、Spring、构建还是实战需求 |
阶段验收
| 阶段 | 交付物 | 验收方式 |
|---|---|---|
| 环境 | JDK、IDE、Maven 状态记录 | java -version、javac -version、mvn -v 输出保存到学习日志 |
| 语法 | 成绩统计命令行程序 | 改输入数据后输出仍正确 |
| 面向对象 | 拆分后的学生或任务模型 | 能画出 Main -> Service -> Model 调用链 |
| 核心 API | 文件读取和集合统计练习 | 能处理空文件、非法行、重复数据 |
| Maven | 标准 Maven 项目 | mvn test 能重复通过 |
| Spring Boot | 任务 API | curl 或接口工具能完成增查改 |
| 数据库 | 持久化任务表 | 能说明请求参数如何进入 SQL |
| 工程质量 | 测试、异常、日志 | 至少覆盖 3 个失败用例 |
学习日志模板
把下面内容追加到 ~/java-quickstart-course/learning-log.md。
md
## YYYY-MM-DD 阶段名称
练习目标:
运行命令:
预期结果:
实际结果:
生成或修改的文件:
遇到的错误:
定位过程:
最终修复:
我现在能解释:
下一步:Demo 用例
Demo 1:基础语法
输入:[98, 76, 59, 88, 100]
预期:
- 最高分是
100。 - 最低分是
59。 - 平均分能解释小数处理方式。
- 不及格人数是
1。
判断重点:
- 是否正确使用循环和条件。
- 是否处理整数除法。
- 是否把计算逻辑拆成方法。
Demo 2:集合和文件
输入文件:
text
1,learn-java,TODO
2,write-api,DONE
3,fix-test,TODO
bad-line预期:
TODO数量是2。DONE数量是1。- 非法行被记录为错误,不中断整个程序。
判断重点:
- 是否选择合适的集合结构。
- 是否区分正常数据和错误数据。
- 是否知道输出文件或日志在哪里。
Demo 3:Spring Boot API
请求:
bash
curl -X POST http://localhost:8080/tasks \
-H 'Content-Type: application/json' \
-d '{"title":"learn-java","status":"TODO"}'预期:
- 返回成功状态。
- 响应体包含任务 id、标题、状态和创建时间。
- 服务器日志能看到请求进入 Controller。
判断重点:
- Controller 是否只处理 HTTP。
- Service 是否处理业务规则。
- Repository 或 Mapper 是否只处理数据访问。
失败用例
| 用例 | 预期行为 |
|---|---|
| 缺少任务标题 | 返回清晰的参数错误,不写入数据库 |
| 查询不存在的任务 id | 返回统一错误结构,不暴露数据库细节 |
| 状态值非法 | 返回可读错误信息,并说明允许的状态 |
| 数据库连接失败 | 日志能定位配置或服务不可用 |
| 测试失败 | 能通过失败断言找到行为变化 |
评分规则
| 分数 | 表现 |
|---|---|
| 1 | 只能照抄代码,不能独立运行 |
| 2 | 能跑通,但解释不清楚调用链和边界 |
| 3 | 能完成最小功能,能定位常见错误 |
| 4 | 能补测试、处理失败用例,并说明设计取舍 |
| 5 | 能把同一结构迁移到新需求,例如文件上传、分页查询或权限校验 |
毕业标准
你可以结束第一轮学习,如果同时满足:
- 从空目录创建并运行一个 Maven 或 Spring Boot 项目。
- 写出至少 4 个接口或命令行功能。
- 保留至少 5 个测试或验收请求。
- 复盘至少 3 个真实错误。
- 能讲清楚 Controller、Service、Mapper、DO、DTO、VO、配置文件和测试分别负责什么。
- 能指出旧笔记中的一个过时方案,并说明新项目里会如何重新选择。
回到 Java 快速入门教程。
