一、前期准备及设计思路分析:
看完结对编程的要求之后,我跟队友经过讨论分析,决定分为两部分来完成,队友来完成gui界面的编写,我来完成后端出题做题以及短信验证码的实现。
二、具体实现过程:
因为国庆期间,队友和我都返乡了,无法面对面的交谈,只能通过网上交流,因此在两人交接方面存在很多问题,也会我们后续出现的bug埋下了伏笔。
对于我自己的部分,有以下分析:
1.首先是验证码功能的实现:
在这里选取了较为主流的榛子云验证码服务平台,利用它提供的核心代码,随机处理验证码,在队友后续写了手机验证码注册代码中,进行比对,看验证码输入是否有误。
2.出题做题:
1)首先是对出题的类型进行选择,进行id的设置,这里与个人项目中的出题差不多,这里就不再赘述。
2)与个人项目不同的是这次有一个做题界面:
通过程序计算出的答案,与用户选择的选项进行比对,后续队友通过弹窗来提示用户是否做对题目。
3)生成4个随机选项:
核心代码以上,进行一次随机,选择正确答案,再对其他的选项进行随机处理。
4)在这里我未对用户可能重新开始做题进行处理,队友后续为我补全了这一部分:
运用全局变量的设置,再次进行出题做题环节。
5)成绩计算:
在做题时记录下正确的题目数量,按照百分比算出分数。
三、功能演示:
点击重新开始,再次回到答题界面:
四、不足之处:
1:随机产生四个选项的设计不够完善,有的题目一眼就能看出答案。
2:ui的设计太过简单。
3:算出的题目答案与选项不能匹配上,也就是选择了正确答案也有可能提示选择错误,这也是存在的最大的bug,我们思考了很久也没有找到妥善的解决方案。
4:答题界面中会出现弹窗,影响做题。
五:心得体会:
这次与队友结成小队,因为我python的基础较差,都是队友在一路帮助我,我很感谢郭韧同学在结对编程中对我的帮助,我们两人一起讨论,共同修改bug,为产生的分歧找到一个最优解
虽然过程漫长又痛苦,但是能与同学共同进步,也是一件令人快乐的事情。
总之,这次结对编程项目给了我们一个机会,模拟在企业中写项目的过程。明确的分工,交接时产生的bug和分歧,通过两人共同的努力一步步进行修改,郭韧同学在这个过程中耗费了无数的心力
我很庆幸能与郭韧同学共同完成结对项目。