软件工程第二次结对作业
博客信息 | 沈阳航空航天大学计算机学院2020软件工程作业 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/sau/Computer1701-1705/homework/10685 |
课程目标 | 熟悉一个“高质量”软件的开发过程 |
作业目标 | 结对编程练习 |
一.作业题目
我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:
1.能够自动生成四则运算练习题
2.可以定制题目数量
3.用户可以选择运算符
4.用户设置最大数(如十以内、百以内等)
5.用户选择是否有括号、是否有小数
6.用户选择输出方式(如输出到文件、打印机等)
7.最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
二.角色分配
三.程序运算结果
1、加法
2、减法
3、乘法
4、除法
四.代码审查
五.工作记录表
总结
能和这样的驾驶员合作是我的荣幸,胡生吉同学的代码在我看来非常的高效且对任务要求的完成度较高。驾驶员在经过上次的结伴作业之后,对代码的审查、复审有了更深的认识,代码总体布局也比之前清晰了许多。在四则运算代码的设计上,驾驶员从运算式的基础构造出发,运算符、数字随机组合且保证运算式有意义。
·代码亮点
·功能全面且功能选择的设计也很得当;
·代码结构工整,随机数与随机算符按照数学定义组合;
·全局变量应用清晰,括号匹配和随机小数功能可完美实现。
·代码缺陷
·数据类型定义不够严谨,int与float型变量相互转换可能丢失精度;
·在完成文件输出功能时,不够完善;
·除法算符未考虑分母的数学意义;
·代码文件输出部分略显粗擦。
本次结对作业在进入结尾阶段,在和驾驶员合作过程中获益良多。我和我的驾驶员都还没深入学习过Java和Python语言,所以我们决定用C++语言完成本次任务。我的主要工作是辅助,但我想更是相辅相成,在算法的设计方面我辅助驾驶员使算法更好更高效的实现,避免许多BUG的出现,在代码设计完成后,驾驶员辅助我编写测试单元测试、设定测试样例,使程序得以更加完善,功能得以更好地实现。