结对编程总结
一、 项目综述
通过对比分析两人代码,决定以本人的个人项目代码作为主要参考。
本系统是基于QT Creator 4.5.2开发环境,开发语言C++,能够实现用户注册,发送短信验证码,用户登陆,用户选择题目类型和数量,显示用户本次答题基本功能。支持对用户账号查重,账号密码以及验证码的准确性检测。
二、 项目实现
项目主要分成了5个模块,每个模块都有对应的ui以及cpp代码实现
0x01 系统登陆页面
#### file login.h & login.cpp & login.ui
#### 点击 "登录",成功时跳转至主菜单页面,失败时提示 “账户或密码错误” (此时需要注册新用户,或检查一下是否输入错误)
#### 点击 "注册",跳转至注册界面
0x02 系统注册页面
file regwindow.h & regwindow.cpp regwindow.ui
#### 点击 "获取短信验证码",成功时会弹出提示框"正在发送验证码",等待手机接收得验证码,填入框内
#### 点击 "注册",成功时会弹框提示"注册成功,点击跳转至登陆界面",
#### 点击 "注册",失败时如果弹出"该手机号已被注册",则需要更改手机号注册,如果提示"验证码错误",需要检查验证码输入是否正确
0x03 主菜单页面
#### file mainwindow.h & mainwindow.cpp & mainwindow.ui
#### 点击 "小学"或"初中","高中" 跳转到生成题目的界面,生成对应类型题目
0x04 生成题目页面
#### file createproblems.h & createproblems.cpp & createproblems.ui
#### 点击选项旁边按钮会记录用户选择的答案,首次四个按钮是没有被选,之后的题目,每次进入选项会和上次选的一样,用户需要重新点击要选的答案
#### 点击"下一题" 继续生成题目,当全部题目数量超过输入时,跳转至分数页面
0x05 分数页面
#### file grade.h & grade.cpp & geade.ui
#### 点击 "查看分数" 显示用户所得分数
#### 点击 "退出" 退出本系统
三、 项目经验及教训
由于结对两人的都是C++语言,虽然要带ui,也决定用C++开发。于是选择了从未接触过的QT。经过这次项目,也算是边学边入门了QT,从而得出要快速掌握一个工具,通过边写实例项目,边查找QT文档是比较快的,能够快速满足自己对工具功能的需求。不过一周下来,虽然用QT实现了项目,但是系统化的对QT认识依旧不够。如果需要熟悉,还是需要学习QT的基本功能文档这些。这样才不会过好久后,又需要重新学习QT。其次通过这次项目,真正体会到了类的模块化编程的优点,通过分模块编程,不仅可以让自己开发是思路逻辑清晰,还会减少bug的产生。
在开发过程中,也因为一些开发规范,导致了很多bug,比如类之间得互相包含,导致类型错误,发送post请求不成功等等。耗费了大量的时间
不过总体开发下来,和队友的合作,以及在开发过程中不断的查询资料,学习到了很多东西,包括短信验证码实现,QT的C++语法,以及对面向对象编程的理解深刻了。