103
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | https://bbs.csdn.net/forums/2501_CS_SE_FZU |
|---|---|
| 这个作业要求在哪里 | 团队作业α冲刺 |
| 这个作业的目标 | 阐述团队的代码规范、本次冲刺任务与计划 |
| 其他参考文献 | Java开发手册(黄山版) |
本项目由前端(微信小程序)和后端(Java Springboot)两个小组协作推进。本次冲刺仅有6天,目标明确:交付一个可供前端联调的、稳定的后端可行性产品。
本随笔将阐述我们的冲刺任务、6天计划和代码规范、。
分工:后端3人,前端4人,测试1人
核心任务,在为期6天的冲刺中,后端团队将交付MVP所需的基础功能接口,前端团队将同步开发出小程序的基本页面,最终双方共同完成前后端的成功联调。
后端团队的任务是为前端小程序提供稳定、高效的API接口。本次冲刺的后端MVP功能(API)清单如下:
GET /api/subjects (获取所有题库分类)GET /api/questions (按分类获取题目列表)POST /api/exams/start (开始考试/抽题)POST /api/exams/submit (提交考试并评分)POST /api/auth/mock-login (模拟登录)GET /api/me/scores (获取我的历史成绩)GET /api/me/wrong-questions (获取我的错题列表)前端团队的任务是将UI设计稿(或原型)转化为功能完善的小程序页面,并与后端API完成对接。
pages/index/):POST /api/auth/mock-login 接口。token 和 userId 存入 wx.setStorageSync,作为后续所有请求的凭证。pages/subjects/):GET /api/subjects 接口,使用 wx:for 渲染题库分类列表。pages/exam/):onLoad 时,调用 POST /api/exams/start 接口获取题目数据。<radio-group> 或 <checkbox-group> 处理用户选择。pages/report/):POST /api/exams/submit 接口提交答案。pages/me/):GET /api/me/scores 渲染“我的成绩”列表。GET /api/me/wrong-questions 渲染“我的错题”列表。小组成员由A、B、C、D表示。其中后端3人,前端4人。
| 日期 | 核心交付物 | 成员 A (架构/用户) | 成员 B (题库) | 成员 C (考试) |
|---|---|---|---|---|
| Day 1 | 工程启动 | 搭建工程骨架,配置H2 | 定义 Subject, Question 实体与JPA | 定义 ExamAttempt, ExamAnswer 等实体 |
| Day 2 | 核心查询 | 实现模拟登录、我的成绩/错题接口 | 实现题库查询、题目查询接口 | 实现“开始考试”接口(含抽题) |
| Day 3 | 核心写入 | 实现全局异常与统一返回体 | 填充 data.sql (AI辅助) | 实现“提交评分”与错题逻辑 (AI辅助) |
| Day 4 | 优化与文档 | 编写接口文档 (AI辅助 api.md) | 优化题目查询(如随机) | 细化评分边界处理(如重复提交) |
| Day 5 | 联调与修复 | (全员) 与前端小组(或使用工具)联调接口,修复Bug | (全员) 联调与修复 | (全员) 联调与修复 |
| Day 6 | 验收与打包 | 准备演示,打包 jar 文件 | 确认演示数据准确无误 | 确认核心流程(考试-评分-错题)闭环 |
| 日期 | 核心目标 | A/B (用户与展示) | C/D (核心考试) |
|---|---|---|---|
| Day 1 | 静态页面 | (全员) 搭建登录页、题库页、"我的"页的 WXML/WXSS 静态界面。 | (全员) 搭建答题页、成绩报告页的 WXML/WXSS 静态界面。 |
| Day 2 | 页面假逻辑 | 使用JS里的假数据 (hardcode),让登录(假跳转)、题库列表、"我的"页面动起来。 | 使用JS里的假数据,让答题页(假题目)和报告页(假分数)动起来。 |
| Day 3 | API工具 & 登录 | (A组) 封装 utils/api.js 工具。(B组) 对接真实登录接口,实现真 token存储。 | 学习 api.js 用法,尝试对接真实“开始考试”接口 ( console.log 打印数据)。 |
| Day 4 | 数据拉取 (GET) | (全员) 对接真实API: 1. GET /api/subjects (题库列表)2. GET /api/me/scores ("我的"成绩) | (全员) 对接真实API: 1. POST /api/exams/start (获取题目)2. 实现“下一题” **(纯前端逻辑)**。 |
| Day 5 | 数据提交 (POST) 【关键联调】 | (辅助测试) 从头测试“登录->看题库->看我的”流程。 | (全员结对) 对接真实API: 1. 格式化并提交答案 ( POST /api/exams/submit)。2. 在报告页渲染真实分数。 |
| Day 6 | 全流程测试 | (全员) 优化UI,增加 wx.showLoading 加载提示。 | (全员) 修复答题、提交、报告页的Bug。 (全体) 跑通MVP全流程,准备演示。 |
测试各阶段功能,前后端联调可行性,功能完整性。
为保证代码质量、可读性和一致性,我们参考《阿里巴巴Java开发手册 v1.3.0》和华为内部代码规范的核心思想,制定了本次冲刺必须遵守的核心规范:
UpperCamelCase (大驼峰)。lowerCamelCase (小驼峰)。UPPER_SNAKE_CASE)。com.example.exam.controller)。...DTO (如UserLoginDTO) 结尾。if (status == 1))。必须定义为常量(如 private static final int STATUS_SUCCESS = 1;)。null 的对象(尤其是方法入参、RPC/DB查询结果)进行校验。优先使用 spring-boot-starter-validation(如 @NotNull)在 Controller 层进行参数校验。Service 层捕获具体异常(如 SQLException),处理后向上抛出自定义的业务异常(如 ExamNotFoundException)。Controller 层禁止 try-catch 业务逻辑。@RestControllerAdvice) 统一捕获业务异常,并返回统一错误码:{ "code": 1001, "message": "考试不存在" }。Controller 层的 所有 请求(入参)和响应(出参)必须使用 dto 包下的专用类。domain(实体类,如Question)严禁出现在 Controller 层,防止数据库字段变更导致API变更。类型: 描述 格式。feat: (新功能), fix: (修复Bug), docs: (文档), refactor: (重构), style: (代码格式), test: (测试)。feat: 实现提交考试评分逻辑,也可以用中文,如新功能:实现提交考试评分逻辑我们团队已对α冲刺做好了充分准备。我们明确,在短时间内,清晰的目标、严格的行业规范、明确的分工以及高效利用AI技术员是成功的关键。我们相信,通过严格执行此规划,团队能够在本轮冲刺结束时,顺利交付一个稳定、可用的前后端联调微信小程序,基本功能可用,具有可扩展性,为整个项目的后续开发奠定坚实基础。