结对编程

结对编程

组员


 

林清荣:201421122102

黄冠:201421122115

 

项目地址


 

Coding.net:https://coding.net/u/WocPencil/p/arith-exercise/git

 

本次作业完成的题目内容


 

  1. 实现GUI;
  2. 记录用户的对错总数,程序退出再启动的时候, 能把以前的对错数量保存并在此基础上增量计算;
  3. 有计时功能,能显示用户开始答题后的消耗时间;
  4. 界面支持中文简体/中文繁体/英语。用户可以选择一种。

 

需求分析


 

GUI

  1. 要好看
  2. 分为开始、答题、结果三个界面
  3. 可以在每次测试前设置数量和范围
  4. 测试完后显示成绩

记录对错总数

  1. 每次测试完成时,将对错总数量和保存在本地的总数量相加,并将相加后的值保存
  2. 将对错总数显示在测试结果面板上

计时功能

  1. 在用户答题时实时更新已用时间
  2. 测试完成后显示所用时间

本地化界面

  1. 通过对话框切换语言
  2. 切换语言后,所有已显示的界面立刻刷新文字,显示切换后的语言
  3. 将用户选择的语言保存在本地

程序设计


 

我主要做的是实现计时功能类的设计:Timer

该类的思维导图如下:

 

  1. start()方法中主要通过线程实时刷新时间,通过调用队友写的update()函数每隔1秒刷新一次界面面板中的时间;
  2. 为了使显示在面板中的时间更加符合我们平时看时间的习惯,写了refTime()方法将时间自定义格式话 分钟:秒 的形式; 

除了上面的类还写了一个方法

public static void saveResult(Map<String,String> data)
//实现对对总的增量计算,该方法中调用的接口是队友写的

注:代码太简单,就不在此展示了

 

结对过程


 

由于作业1队友写的代码比较完善,所以此次结对编程是在队友的作业1基础上继续编写的。结对过程中,我们一起做的需求分析,考虑功能上可行性(事实上,大部分是由队友想的,我只提了很少的意见),编写代码,做代码测试。

 

小结感受


 

在结对编程中,我觉得我是挺痛苦的,因为我的编程能力比较差,队友的编程能力是属于比较强的那种,而且对代码有种追求完美的执着(我觉得这个很需要我去学习,不管以后我还写不写代码)。看到我分配的任务之后,我第一感觉就是该怎么实现,想问队友又觉得有点不好意思,不问自己去查真的是很蛋疼,所以最后还是问队友的想法,然后自己在去实现,确实是达到事半功倍的效果。当我写完的时候,队友让我写个测试,我就有点懵了,这个该怎么写?他也不愧是编程老手(我自己这么觉得的),对工具的使用很熟悉,直接一个快捷键是打开创建测试类的窗口(。。。这就是差距啊!!!)。测试的时候找出了几个问题,改了过来。

可能是我对编程的兴趣不大,所以在写的过程中有点拖后腿。

我们结对编程一共分了两个事件段,刚开始写的时候确实挺烦的,为什么有这种作业?不过跟在一起队友写代码,很真实反映出自己在写代码时的很多缺点,比如没耐心,不会查资料,取变量名太随意,代码风格太差,注释不规范。。。感觉有点更加坚定的放弃编程这条路。

评价合作伙伴


 

他属于很有原则的那种人(至少在编程这方面上),典型的技术宅。我比较钦佩他的是做事专注度很高,向他请教问题的时候都会心平气和的跟你解释对于代码的构建他不会单纯只考虑实现了就好,一定会按照标准先去搭建模型,再一步一步填写代码。他的代码风格也很好,让人看了很舒服(虽然不一定看得懂他写的是什么)。

 

posted @ 2017-10-21 19:24  qiu_zhi  阅读(222)  评论(4编辑  收藏  举报