结对编程作业

本文分享了一次结对编程的经历,包括改进现有代码、功能扩展等技术细节,并反思了结对编程过程中遇到的问题及效率提升的空间。

软件工程网络15结对编程作业

1.链接

2.改进现有代码

选择博客4进行改进:
个人博客地址4:http://www.cnblogs.com/shizhuangde

源代码:https://coding.net/u/lhl1212/p/work2/git

  • 分析原始代码

类图:1109870-20180323223830563-1695593929.png

)
覆盖率统计截图:
1109870-20180323223844220-1157484392.png
1109870-20180323223855196-824011609.png
1109870-20180323223904765-1730039505.png
单元测试截图:
1109870-20180323223946542-765014986.png
1109870-20180323224002143-1412789585.png
1109870-20180323223927188-1451550834.png

弱点:
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)改进代码展示
    1109870-20180323224450784-960882324.png
    1109870-20180323224501100-1250413651.png
    1109870-20180323224507554-2072326273.png
    1109870-20180323224519449-1949993179.png
    1109870-20180323224538599-340850846.png

5)程序运行截图
1109870-20180323224556349-931359863.png
1109870-20180323224605411-679710846.png
1109870-20180323224631636-1014504606.png
1109870-20180323224646998-627313588.png
1109870-20180323224654767-980424771.png
1109870-20180323224705546-1804548331.png

3.两人合作

  • 结对编程照片
    1109870-20180323224935177-2092892687.jpg

  • PSP表格

PSP2.1个人开发流程预估耗费时间(分钟)实际耗费时间(分钟)
Planning计划2015
·Estimate明确需求和其他相关因素,估计每个阶段的时间成本2015
Development开发358542
· Analysis需求分析 (包括学习新技术)108
· Design Spec生成设计文档56
· Design Review设计复审108
· Coding Standard代码规范33
· Design具体设计1012
· Coding具体编码240360
· Code Review代码复审2025
· Test测试(自我测试,修改代码,提交修改)60120
Reporting报告2329
·测试报告32
·计算工作量1012
·并提出过程改进计划1015
  • 码云commit提交记录
    1109870-20180323225600621-1033689963.png
    1109870-20180323225635029-2005228760.png
  • 编码规范提交记录
    1109870-20180323225653823-1720718692.png

  • 心得体会
      此次结对编程是和我舍友一起完成的,因为在同一个宿舍,讨论交流起来都比较方便。本次结对编程是在上一届学长学姐所做项目的基础上进行修改。一开始是运行原有代码,再理清原有代码的结构,最后再在原来的基础上增加新功能。就增加新功能这一块来说,我觉得还是比较困难的。毕竟原来的程序员自己有一个代码编写的思路,你要增加了一个新功能,你可能就要换一个思路来写,就我们选择的这个博客来说,如果要增加括号操作符,程序基本上就要扔掉重写。所以,感觉修改别人的代码还是挺复杂的。
      至于结对编程真的能够带来1+1>2的效果吗?我觉得暂时还没有达到这种效果。两个人结对的话,考虑到的问题会更全面一点,代码编写过程出现的一些问题可以及时地发现并解决。但是也有个问题,效率低,在结对的过程中,需要领航员和驾驶员的注意力都很集中,这点很难做到。我觉得结对编程初期,可能还是需要磨合一段时间,效率才会提高。就现在来讲,感觉两人分工合作的效率会更高。

转载于:https://www.cnblogs.com/kzq-java-markdown/p/8635541.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值