结队编程总结分析

结对编程总结分析

1、项目要求

       1.在我的项目的基础上,实现带UI的小初高数学学习软件。算法

 

2、实现过程

  1.和队友花了些时间谈论大致框架(草稿,有点丑)和大概功能。编程

 

 

  2.咱们封装了一些经常使用的Swing组件,须要调用时传入参数,调用便可,很方便。框架

 

 

 

 

 

 例如按钮类:eclipse

 

 

 

       3.把界面大概的搭起来,前先后后大概20个界面。函数

 

 

 

      4.内部代码的实现,把一些界面的操做,其中生成问题用的是原我的项目的问题生成。学习

    

  5.把代码和界面连接起来(其实作好一个内部代码,就搭一个)。测试

 

  6.测试,咱们都测试了好屡次,检验无错误后就算结束该项目的编程部分。  spa

3、实现功能

功能,界面太多,就不放图了,小功能,好比密码错误时输入框下方的红色提示功能,输入提示功能,弹出提示对话框等等也不写了。3d

1.主界面 能够选择登录错题本仍是作题本。

  1)选择啥都会进入登录界面,可是不一样的选择,登录后打开的界面不一样,一个打开作题界面,一个打开错题本界面。调试

  2)为了用户体验好,只要登录了,能够从任一个界面去另外一个界面。换句话说两个界面能够打开对方。能够从作题界面到我的信息到错题本,错题本能够直接到作题界面。

2.弹出登陆界面,能够选择登录,注册帐号,忘记密码。

  1)登录   输入帐号密码,先检查帐号是否已注册,若是帐号已注册,匹配密码又正确的话就登录成功。

  2)注册   输入手机号,检查格式,正确就发送验证码,而后输入的验证码正确就进入注册界面,默认昵称(不输入)是手机号,输入密码,密码有格式检查,还检查两个同样不,完成后注册成功跳到登陆界面。

  3)忘记密码   输入手机号,检查格式,检查是否已注册,未注册就不给改密码,注册的发验证码,输入验证码正确就显示密码更改界面,检查密码是否一致,是否格式正确,正确后回到登陆界面。

3.作题界面,能够选择作题或者进入我的信息界面或者注销。

  1)注销   退出登陆,回到主界面。

  2)作题   根据喜爱(我的信息能够设置,未设置默认空),默认一个等级(可经过下拉菜单改变),而后输入题目数量(10~30道),输入测试时间(1~40分钟),输入均合法后,点击测试,就开始作题,作题时可切换上一题下一题(符合逻辑的,如第一题时上一题按钮不可按),而后经过本身点击交卷或者时间到了自动交卷,而后获得分数。

  3)更新最大分   每一个用户设置了3个最大分,对应小学,初中,高中。每次获得分数,若是更高就更新。刚注册的用户是全0.0(double);

  4)我的界面    5个小功能  分别是①修改昵称(取个个性的,炫酷的名字吧)此界面也能够看到一些基本信息如电话号码,昵称,3个等级最高分;②修改作题偏好;③修改密码(须要先输入密码);④查看错题本(就是这我的的错题本界面);⑤删除帐号,这个功能会删除我的的一切信息,从注册表(用户信息)删除,删除我的最大得分记录,删除本身的错题本,删除本身的生成试卷。

  5)刷新   这个按钮是用来更新你的操做,如修改昵称(界面是静态的你修改以前打开,此时显示的昵称是以前的,刷新后是修改后的,或者从新打开作题界面也是更新的) 。

4.错题本界面

   1)功能就是能够打开当前用户的错题本(分为3个,分别记录小学,初中,高中)(附带答案)。

   

   画了几个 简 易 的 流程图(主要项目太大,一些功能和细节其实已经省略了)。

  主界面

 

主界面

 

 

 

 

 

作题界面

 

 

 

 

错题界面

 

 

4、遇到的困难

       1.格式问题,Java是UTF-8,传输是UTF-8,txt是ANSI(自动生成)。同时为了用户感官好一点,咱们坚持使用“²”代替“^2”,有中文字符,而后就会乱码(“²”变成“?”)。解决的方法是把

file.createNewFile()这个不带参数的默认生成函数,换成带参数的流函数。这样在IDEA和eclipse环境都不会乱码,可是为了方便验收,弄了一个jar,这个jar仍是会乱码 (全部的“²”变成“?”)。另外,有一个神奇的现象,读取的(前期为了验证功能手敲的txt)txt,老是会把第一行多读一个长度(两个值为负的字节),问题是输入仍是同样的,你能想象我String  str="张三1";读取的也输入,是user[0]="张三1",而后user[0].equal(str)=false时我一脸懵逼吗,各类调试,输出都没解决,最后一个字符一个字符比较,才发现这个问题,手动输入的第一行会出现多一个长度的问题(能够经过保持第一行是回车,或者每次第一行只取子串来解决),不过最后这个对咱们项目没影响,由于  咱们不要手动输入txt啊。

  2.一开始讨论计算答案方式,说要么用逆波兰(预估80行,O(n))要么用字符串处理直接算(预估100行代码,O(n),可是常系数更大(后面发现不止,哈哈哈哈))。(算法大概是深搜到第一个匹配的左右括号,处理它,而后找下一个匹配括号,至关于我处理的都是没括号的字符串,注意特殊处理sin,根号什么的就行)最后大概和别人讨论了一下,别的人大多 是使用自带函数或者逆波兰,一合计自带函数锻炼效果很差(当时说实在写不出就用,哈哈哈哈),逆波兰你们都在用(主要以为都同样没亮点),咱们就用深搜搜索+字符处理。而后噩梦就开始了,各类想获得的想不到的bug就出来了,从预估的100行(一开始就差很少100行),而后写到了快500行。各类bug就不一一说了,辛酸泪。而后总结了一下这个问题,处理的麻烦是由于我处理的是纯字符串(中间过程的数字也会再次插入字符串来计算),而逆波兰出来的数字就一直是数字,再也不插入字符串。虽然大概知道了这个算法相比于逆波兰的缺陷,但苦于一直没找到合适的方法(除了波兰和逆波兰),因此也没什么好的改进办法。

5、总结

       先分析,讨论出框架很重要,咱们讨论的框架90%以上都实现并使用了的,最后其余加功能补充这个框架就行。还得多沟通,和队友沟通的多,效率高一些。虽然计算的时候出了不少bug让我愁白了头,但改了不少bug,让我真的学到了一些东西。有收获就好。

 

 

 

                                                                                        我如今这么努力奋斗,就是为了之后我爱的可以幸福。

相关文章
相关标签/搜索