中小学数学卷子自动生成程序——结对编程代码分析
该项目由我和逯文彪同学共同完成
所有功能通过图形化界面操作,可以是桌面应用,可以是网站(编程语言和技术不限);
用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册;
用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小写字母和数字。用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功;
密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量;
用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,...,直至最后一题;
最后一题提交后,界面显示分数,分数根据答对的百分比计算;
用户在分数界面可选择退出或继续做题;
小初高数学题目要求见个人项目。
首先我们先一起讨论了怎样实现该功能,最终我们确定了前端用vue+elementUi的方法来实现,后端用Spring+mybatis+jdbc的方法来实现结对项目的需求,由于我们是前后端完全分离,所以在最开始我们就要讨论项目的规范,接口的定义,数据库怎么样连接等项目规则。

在讨论结束后,就是分工安排了,我虽然之前做过前端,这些功能也能比较简单的实现,但是我想趁这个机会来学习一下后端,所以在这个项目中我做的就是后端。我的后端实现思路便是先用jdbc连接数据库,再定义mapper实例来操作数据库,最后给前端写接口让前端获得相对应的数据。
在这个项目中我学会了spring框架的用法,对于spring框架中的jdbc,mybatis有了更加深入的理解。
对于网络数据传输和跨域问题有了更好的理解,在前后端对接的过程中让我知道了数据格式的重要性,我们第一个接口找了很久的错误,最后才发现是数据格式的问题,我后端定义的数据格式是urlencoded,而前端传过来的数据是json格式的数据,所以导致一直出现跨域问题。
这次结对编程也让我知道了做一个项目最开始的讨论和需求拟定是十分重要的,若最开始讨论不到位,最终在对接的时候各种问题都会体现出来。
以上便是我对于此次结对项目的总结。