结对编程,问题不大
2018-10-08 21:33 曾育彪 阅读(156) 评论(0) 编辑 收藏 举报结对编程,问题不大
---黄富枝、曾育彪
经过之前的个人项目实现了出题的功能,本次带UI的数学题目生成器结对项目就可以复用之前的个人项目,来减少我们很大一部分的的工作,下面就来具体介绍一下我们是如何来复用我们之前的个人项目。
1) 由于之前的个人项目只是实现了出题的功能,而没有计算出每道题目的答案,而本次结对项目需要实现给出最终做题分数的需求,故我们需要在个人项目的实现类中增加计算题目答案的方法;我们具体计算答案的算法是将中缀表达式转换为后缀表达式,利用得到的后缀表达式进行计算。
2) 个人项目的实现类中的属性大多数是为了个人项目的需求,而对于本次结对项目来说是多余的,故复用个人项目时,需要将个人项目中多余的类的属性删除;当然,当某些方法也是多余的时候,我们也可以将这些方法删除掉,减小代码的冗余。例如我们实现的个人项目的类中的用户名(m_username)、用户类型(m_usertype)、题目数(m_questioncount)等属性就是多余的,可删除。
3) 要根队友明确每个类、类中的每个方法是实现什么功能的,还要明确每个方法的参数代表什么,以及该方法返回的又是什么,会抛出什么异常等等,只有事先明确了这些,在调用这些方法时,才不会出现各种莫名的错误。比如我们结对项目的UI类中就需要调用PrimaryTest类、JuniorTest类、SeniorTest类中的GenerateTest()方法来获得一道题目和该题目的答案,还需要调用Message类中的RetSecurity(String telephone)方法来发送验证码并返回发送出去的验证码来和用户输入的验证码进行比对。
结对编程的经验、教训:
1) 在结对编程开始的时候,分好工,一个人完成后台的出题及答案计算等功能,另一个人完成UI界面的设计;但是在做的过程中,交流得比较少,两个人都是忙着做自己的部分,所以在后期方法的调用和前端和后台的对接上出现了一些问题。
2) 结对编程,有点把两个人“分开”了,忙的都是自己的部分,对队友的部分研究的不是很多,只是大概了解个方法和实现过程。这也是导致了和队友交流少的原因。
3) 在实现的过程中,一些包的导入及短信验证码花了很多时间,短信验证用的阿里云,之前审核一直不通过,后来是通过开通了一个微信公众号才通过了验证;然后在把项目拷贝给别人用时,需要重新导入包。
4) 结对编程,总的来说,还是收获多多,体会到了合作的愉快,等到整个工程弄出来的时候,就特别有成就感,虽然过程中也碰到了很多bug,但是都一一克服啦,学到了很多新东西,新知识,对软件项目开发的前端和后台的知识有了初步的学习,但是还存在一些可以改进的地方,比如账号密码和题目可以用数据库来进行保存、前端的窗口还可以进一步优化和美观等。
下面是我们结对项目的UML图,如下图: