结对编程总结
结对编程总结
1. 简介
本次结对编程的项目由我(陈熠玮)和吴依凡同学完成。前端采用的是vue+ajax+elementui,后端采用的是Spring Boot,我主要负责后端代码的编写。吴依凡同学个人项目采用的是python实现,为了给后续团队项目进行积累,我们于是采用ava语言,出题的逻辑主要复用的我的代码。
2. 前端实现说明
主要页面有5个
- Login.vue 登录页面
- Register.vue 注册页面
- Main.vue 系统主页
- ChangePassword.vue 修改密码页面
- Index.vue, 该页面主要作为Login,和Register的父路由,通过选项卡来进行登录和注册这两个子路由来加载这两个页面。
![]()
界面展示
登录界面

注册界面
值得一提的是,这里的设计只有手机号输入符合规范,之后输入密码,验证码的输入框才会弹出来。

主页界面

修改密码界面
移动鼠标到用户图标,弹出“修改密码”和“退出登录”


3.后端实现说明以及代码的复用
后端实现说明
后端主要工作由我完成,主要由controller,files,pojo,service,utils
其中files存储用户的信息,通过一个userinfo.txt来存储已注册的用户的信息。

pojo里面是一些实体类,Resp是传送前端和后端数据的实体,user是定义的用户,MessageResult是前端后端校验验证码的实体,Login是将用户登录时的数据存储的实体。

controller层的两个cotroller,分别调用service里面定义好的接口,从而Service调用Utils工具类实现这个项目需要完成的功能。



代码的复用
结对编程其实对于代码的复用,主要只是体现在我们的出题的逻辑里面,其余为了前端后端更加契合,我们对于我们的之前的个人项目的代码进行了或多或少的修改,以及我们为了使得在做题过程中,题目容易计算,考虑到用户的体验,我们在原有的三角函数的基础上,将三角函数的值设置成了1/3Pi, 1/4Pi, 1/6Pi来表示我们的60°,45°,30°,以及在开方过程中,我们将操作数设计成平方数。



其次代码的复用,由于在登录验证和修改密码的同时,我们需要对于我们存储用户信息的txt文件userinfo.txt进行读写操作,这一部分代码复用了上一次的将题目写入文件的操作。
文件读写

4. 遇到的问题
在进行结对编程的过程中,我们需要对两者定义的接口,消息的变量进行统一,统一的标准没有在开始之前定好,结果就导致了后续的test过程中,出现了问题,这也给我们发现问题消耗了很多时间。相信这对于我们团队项目的开展有一定的经验教训。同时在进行出题逻辑的编写过程中,发现在对题目的答案进行计算的过程中,进行字符串操作,很容易出现index越界的结果,导致报错,通过一一调试最终还是解决了这个问题,计算题目答案也是一个比较考虑逻辑的问题,起初自己的想法是通过栈去解决,实践后发现有点困难,于是通过利用StringBuilder和容器来处理我们的题目,将题目的括号先处理掉,之后将数字和运算符放到两个容器中,根据优先级去处理题目。
5. 总结
结对编程有好有坏,主要前期准备需要我们统一接口,这样在后续工作的开展过程中,会很方便。同时通过这次结对编程自己学些到了很多东西,如何实现短信验证,一次计算题目的答案的逻辑等等。总的来说,多看,多学,多做,这是十分重要的,同时还要保持良好的代码规范,这样对于后续的test和修改bug会有很大的帮助。


浙公网安备 33010602011771号