20190927结对项目编程总结

结对编程项目:带UI的小初高数学学习软件

一、需求

用户:

小学、初中和高中学生。

功能:

  1. 用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册;
  2. 用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小写字母和数字。用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功;
  3. 密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量;
  4. 用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,……,直至最后一题
  5. 最后一题提交后,界面显示分数,分数根据答对的百分比计算
  6. 用户在分数界面可选择退出或继续做题
  7. 小初高数学题目要求见个人项目。

 

二、关于个人项目复用

在做个人项目的时候,考虑到对C++的熟悉,采用了C++语言。而本次结对编程项目一是要UI,二是要发送验证码。在上学期的《Java编程思想》课程讲到了Java GUI设计,也提到了Java 网络编程。后来,我们看阿里云的短信验证码提供了Java的API而没有C++的API,因此和队友商量之后果断变更Java。

 

复用难度?

1.代码复用。

由于个人项目做C++时也采用了类的结构以及相似的方法等,部分类和方法可以移植到Java。

2.出题逻辑

在做个人项目的时候就有此类疑问:题目出的要不要符合高中生的实际情况?初中高中生成的题目一般都是不用计算器算出答案的,比如三角函数,一般都是特殊角度的计算。在个人项目时,我无意中看到了其他同学的博客,他的队友采用的是“题库”的方式。因此我们认为题库更合理,于是我们转战“题库”出题模式。

3.复用谁的代码呢?

我在个人项目的博客中提到,我的队友的代码模块化更高,健壮性更好,因此采用了他的个人项目代码。

以上两张图是队友的C++和Java的类框架。

三、结对编程项目总结

这次结对编程项目用到了Java的GUI和网络编程,这也是我第一次能调用其他接口来实现功能,感觉很有趣。由于我们数据库才刚刚起步,且没有服务器,故没有建立DAL层(数据访问层)来专门读写数据。本次项目的UI和业务逻辑层是并行,由两人分工负责,我们俩的环境也不大一样(队友用的JDK 1.8,我使用的JDK 11,后来换成了13;目的是方便不同环境新旧版本兼容性查看),这对Debug相关程序及模块、检测兼容性也有一定的帮助。总的来说,本次项目遇到了很多之前没有遇见过的问题,获益匪浅。

四、经验教训

1.代码及程序读文件中的中文乱码问题

我们的txt文本和代码默认使用GBK编码格式,而队友的代码使用的是UTF-8编码,切换为UTF-8即可显示正常,有中文乱码在代码中(非注释)是编译不通过的哦!

今天部署Tomcat7.0也是因为乱码问题导致部署不成功!我又是升级JDK又是升级Eclipse版本的。。。原来只是编码格式问题。。。

有中文一定要注意编码问题!

方法:选中文件,右键,Properties,选择UTF-8。

2.关于版本

解决了乱码问题,为啥在队友电脑上运行正常的程序,在我的电脑上运行会有异常呢,我的电脑也加入了相应的包呀!

找来找去,原来是JDK版本问题!队友的电脑的环境是JDK1.8,而我的电脑是JDK11!JDK9.0之后的版本没有自带jaxb-api-2.3.1.jar扩展包,导致编译不通过!加入扩展包即解决问题。

以后还是要慎重选择最新版本,尽量使用稳定版本。

 

猜你喜欢

转载自www.cnblogs.com/cancerhzc/p/11600861.html