1.结对信息:
- 开发人员: 201521123064 郭炜埕,201521123066 郑晓丽
- 项目地址: https://gitee.com/vicheng/four_operations/tree/master
- 分析网络14部分现有程序代码,选择的项目为:
- 原题目要求:
- 结对照片:

2.需求分析
- 检查大部分主要类之间的关系,画出类图:

- 浏览所有代码考虑代码质量和测试覆盖率

- 单元测试

- 原有代码只能实现100以内两个随机数的随机四则运算,经过我们考虑,决定添加第三个随机数,进行三个数的随机四则运算。
- 在此基础上,添加了随机增添括号的功能,加入括号并考虑其优先级,用中缀表达式实现其功能。
3.程序设计
-
针对新开发功能做设计,建议使用思维导图。

-
新功能关键代码:
-
随机产生四则运算符号:

-
随机产生括号:

-
新建Calculate等方法用来计算随机生成的算式:




-
4.代码展示
-
展示每个功能的核心代码:
-
随机产生题目:如上所示。
-
语言切换功能:

-
计时功能:

-
创建错题集及做题记录:

-
码云提交记录:

5.程序运行
-
随机产生8道题:


-
复习错题:

-
繁體中文:


-
English:


-
做题记录及错题集:

-
改进后的代码覆盖率,有所提升:

6.小结感受
- 我认为结对编程能够带来1+1>2的效果,一个人的能力和精力都是有限的,我挺享受驾驶员和领航员两种角色在编程过程中共同交流配合的过程。
- 虽然对原有代码有所改进,但还是存在许多为改进bug,比如在新增的功能中,对于无限小数没有指定小数点后的位数。
7.结对作业的PSP
| PSP2.1 | 个人开发流程 | 预估耗费时间(分钟) | 实际耗费时间(分钟) |
|---|---|---|---|
| Planning | 计划 | 18 | 16 |
| Estimate | 明确需求和其他相关因素,估计每个阶段的时间成本 | 10 | 8 |
| Analysis | 需求分析 (包括学习新技术) | 6 | 10 |
| Design Review | 设计复审 | 4 | 6 |
| Coding Standard | 代码规范 | 5 | 5 |
| Design | 具体设计 | 20 | 30 |
| Coding | 具体编码 | 36 | 21 |
| Code Review | 代码复审 | 7 | 9 |
| Test | 测试(自我测试,修改代码,提交修改) | 22 | 33 |
| - | 并提出过程改进计划 | 10 | 10 |