结对编程作业1

1.链接

2.改进现有代码

选择博客4进行改进:
个人博客地址4:http://www.cnblogs.com/shizhuangde
源代码:https://coding.net/u/lhl1212/p/work2/git

一、分析原始代码

类图

覆盖率统计



单元测试



弱点:

1)无正确率统计
2)简英繁切换不完善(弹出错题框时,“错题”及“正确率”未切换)
3)不支持多操作符运算
4)不支持加入括号的四则运算题
5)固定为5个题目

二、功能改进与扩展

1)添加正确率统计
2)半完善简英繁切换(还有初始界面的按钮不支持切换)
3)支持多操作符运算
基本思路:在原有代码基础上又随机生成一个操作数以及一个运算符,先比较两个运算符的优先级,优先级较高的操作符两端算式优先算,将其结果存入,再将其与剩余操作数进行运算,调用相应的运算函数,即得出这个题目的正确答案。
【例】:6 + 1/3 X 1/2 'X'优先级高于'+',先调用mul函数计算1/3 X 1/2,存得其结果s,再调用add函数计算s+6,即为正确答案。
4)改进代码展示





5)程序运行截图






3.两人合作

一、编码规范:

1)变量与函数名命名:驼峰式命名
2)缩进:4个空格
3)行宽:100字符
4)括号:用括号表示逻辑优先级
5)断行与空白的{}行:每个‘{’、‘}’都独占一行
6)分行:一条语句放在一行
7)注释:简单说明函数或对象作用

二、 结对编程照片

PSP2.1 个人开发流程 预估耗费时间(分钟) 实际耗费时间(分钟)
Planning 计划 20 15
·Estimate 明确需求和其他相关因素,估计每个阶段的时间成本 20 15
Development 开发 358 542
· Analysis 需求分析 (包括学习新技术) 10 8
· Design Spec 生成设计文档 5 6
· Design Review 设计复审 10 8
· Coding Standard 代码规范 3 3
· Design 具体设计 10 12
· Coding 具体编码 240 360
· Code Review 代码复审 20 25
· Test 测试(自我测试,修改代码,提交修改) 60 120
Reporting 报告 23 29
· 测试报告 3 2
· 计算工作量 10 12
· 并提出过程改进计划 10 15

三、码云commit提交记录


四、心得体会

此次结对编程合作依旧是和我的学霸老搭档一起完成的,在这之前,我们两已经合作过java的购物车和java课设了,又是舍友,对对方了解颇深,沟通交流起来也较为容易。

先给我的好搭档送一个汉堡包吧:
Bread 你是我们专业的学霸,学习成绩优秀而且做事认真可靠,编码能力也远远高于我,很开心和你一起合作让我受益匪浅
Meat 在编码过程中,感觉你有一滴滴焦躁啊,碰到暂时解决不出来的问题会有点气馁,心态不佳
Bread 但是呢,你也不会轻言放弃,总会坚持下来解决问题,真的很棒,值得我学习。期待我们下次合作≧▽≦

对于1+1有否起到大于二的效果,我的回答是:还行吧。因为第一次搞这个结对编程还有改写他人的代码,我两对要求都不甚了解,做很多东西都是摸索着去做的,觉得应该是这样就去做了,也不知道是否满足要求,所以执行起来不免有些摸不清头脑。整个过程中我两都是在一起看代码一起搞,这样不免效率不高(可以从我们的psp表格中看出...)思考一下,其实如果在更明白要求的情况下,我们就可以在一开始两个人分配任务而后再集中修改,这样也许就更好了。再者,这次结对编程使我感受到,修改别人代码其实比自己写代码还困难一些,以前总以为别人的代码都写好了,后续就依葫芦画瓢就好,但是实际上,新增一个新功能,就要想到有没有破坏原有代码的想法(比如我们最后想在题目中添加括号时,百思不得其解,不知道如何在源代码的基础上添加,所以没有做出来T T)。越改就越觉得学长学姐们的辛苦,特别是我们选的这个博客4,我觉得写的挺好,代码思路清晰且有亮点,减少了我们修改的难度,应该向学长学姐们学习~

差不多心得体会就这样了吧,不然就显得像王婆的裹脚布了hh

原文地址:https://www.cnblogs.com/guzhiling/p/8635450.html