一、 结对编程要求
1、所有功能通过图形化界面操作,可以是桌面应用,可以是网站(编程语言和技术不限);
2、用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册;
3、用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小写字母和数字。用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功;
4、密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量;
5、用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,…,直至最后一题;
6、最后一题提交后,界面显示分数,分数根据答对的百分比计算;
7、用户在分数界面可选择退出或继续做题。
二、 代码复用
1.生成试卷
将生成试卷的步骤简化,实现根据传进的试卷类型Type(string)来生成一道题目,再借鉴个人项目的代码,最终代码如下:

2.初始化界面
包括注册页面和登录页面,通过按键监听来进行切换。效果如下:


3.选择题目界面
包含一个单选框和一个数字输入框,用户输入题目类型和数量。题目类型为在(小学、初中、高中)三个选项中单选。

4.做题界面
在选题界面点击确定后,会自动跳转到做题界面,如下所示:

5.汇报界面
在用户做完全部题目后,界面显示分数,用户可选择继续做题或者退出。

三、 教训总结
在一开始结对的过程中,我和队友是分开写网页的页面的,只是大致交代了下两个人的工作,需要做哪些页面、需要实现哪些功能等。但2~3天后,两个人合并、测试代码的时候由于两个人代码风格的不同导致合并起来很有难度,我这才意识到,以后的开发中一定要规范好团队的编程风格。
由于是第一次开发网页项目,没有注意前端和后端分离,打算将所有操作在JS里面进行实现,但由于做的是一个静态网页,在最后实现登录和注册功能时怎么都无法使用JS访问和操作数据库,查阅相关资料都没有找到解决方法,最后只能通过一个预设好的账号来进行登录操作,页面与页面之间的切换还有显示、题目生成和做题逻辑均已实现。
总的来说这是一次很能让人查漏补缺的结对编程,以后遇到项目一定不能直接上手,一定要注意前后端分离和详细的规划好所做项目的框架和使用的编程语言,谨防合并出错和BUG。
浙公网安备 33010602011771号