结对项目总结

结对项目分析:

一、简介

    本博客为对结对编程项目复用个人项目代码,以及结对编程过程中的经验、教训的总结。本次的个人项目实现的是带UI的小初高数学学习软件,采用的编程语言是Java。

二、复用代码

本次结对项目编程当中,我负责的是后台实现的部分。综合的复用了李匡源同学的代码和本人陈骏科的个人项目代码。

复用的过程当中,并未完全复制粘贴,之后进行了优化改进。

     登录界面toLogin函数(复用李匡源代码)。

 

 

 

此次结对项目更改之前随机生成题目的方式,通过构建题库进行随机抽取。

小学题库及答案生成、初中题库、高中题库。采取了本人代码结果。(因为本人个人项目代码实现了小学答案生成,因此选择了本人个人项目)

 

 

 

三、项目实现功能

本人在项目中实现的功能:

  1. 登录验证
  2. 注册功能
  3. 重置密码功能
  4. 短信发送功能
  5. 电话号码验证是否存在功能
  6. 题库的构建
  7. 题库随机抽取功能
  8. 选项随机排列功能

本次实现功能难点:

短信发送API:

  

 

 

在实现短信发送时,主要通过腾讯云短信平台结课SDK文档,通过maven项目加入百度云的依赖项。

重置密码功能:

 

 

 

由于采用txt存取信息,在重置密码的时候,并不能更改任意位置的信息,因此需要保存无需更改的,重新写入一个新的txt。

题库随机抽取功能:

 

 

 

在随机抽取题目时,采用了set集合保存一个随机的数列,然后进行随机抽取。随机数列set的选取采取了hashset限制重复添加元素。

四、结对编程的经验与教训

在本次结对编程的过程中,我认为一个非常重要的点就是集合讨论整个项目的需求以及如何实现。在本次分工中,我负责后台功能,我们实现讨论好了每个界面的功能,以及如何传递参数等等,在融合的过程当中极其顺利,几乎是一遍通过。但是呢也存在一些小问题,比如jdk的统一,以及命名等方式,因为我主Python,在java命名方式上面还是存在差异的。

在结对项目编程的过程当中,我们没做一个界面便会进行讨论,看看对方的思路是否出现差错,或者是否存在更好的想法,比如在GUI设计的时候,开始GUI每个界面都挺乱套的,但是我提出通过写一个manager,来对每个界面进行管理,和跳转,使得更加模块化。

此次结对编程让我学到的东西很多,比如腾讯云平台的使用、maven项目等等。

我认为结对编程的优点便是两个人加快了编程的效率,但同时由于观点的多样性,有时很难达到统一。此次让我觉得教训最大的问题是,结对项目则需实现讨论好才能开始动手,由于队友提前使用javaswing使用GUI,因为使用古老的一款GUI开发语言,所以很多功能并不是很好。在后续增添多样功能上面也增加了难度、并且无法实现。所以我们得跟随时代,使用当今最先进的GUI语言,比如javafx、qt等等。

posted @ 2021-10-09 10:59  陈骏科  阅读(54)  评论(0)    收藏  举报