结对编程项目-四则运算-第二周总结
2017-05-21 17:44
441 查看
结对对象
学号:20162301姓名:张师瑜
担当角色:主驾驶员(我们结对编程的过程中没有绝对的驾驶员领航员的划分,先将任务进行分配,给出基本框架以后一起进行修改和完善,基本能在面对面交流时解决问题。)
需求分析
实现一个命令行程序,要求:自动生成小学四则运算题目(加、减、乘、除)
支持整数
支持多运算符(比如生成包含100个运算符的题目)
支持真分数
统计正确率
本周:体现设计模式和面对对象原则、支持多运算符计算、支持多语言。
设计思路
实现过程中的关键代码解释
MultiLanguage类中的关键代码:HashMap<String,Integer> lanList = new HashMap<String,Integer>(); lanList.put("EN",0); lanList.put("ZH_CN",1); lanList.put("ZH_HK",2);
声明哈希表并使三种语言对应数组的0、1、2位。
Scanner sc = new Scanner(System.in); language = sc.nextLine(); this.option = lanList.get(language);
输入相应的EN/ZH_CN/ZH_HK,选择语言。
IntegerExpression类中的关键代码
public IntegerExpression(int itemNum){ this.itemNum = itemNum; if(itemNum<2)this.itemNum=2; else { for(int i =0;i < itemNum;i++){ num.add(initItem()); if(i>=1){if(op.get(i-1)=="/"){ num.set(i-1,num.get(i)*((int)(Math.random()*4+2))); op.add("+"); } else op.add(initOp()); } else op.add(initOp()); } } }
自动生成整数类型的多项表达式,并且强制表达式至少有两个数之间进行计算。防止结算是的混乱,除号/只允许出现一次。
public String toString(){ String s = ""; for(int i=0;i<itemNum - 1;i++){ s += num.get(i) + " "; s += op.get(i) + " "; } s += num.get(itemNum-1); return s; }
在数字和运算符之间加入空格。
测试方法
运行过程截图
代码托管
对结对伙伴的评价
这次结对编程非常感激这位大佬,能够在很多地方帮助我,客观的说,她在这次作业上花的时间比我多得多。学得很认真,碰到看不懂的代码,问的很积极,能够指出我的代码中存在的问题还有一些不规范的地方。
感激!
感想
这周终于完成了四则运算的结对编程,这周最主要的工作就是对代码的解耦和、功能细分。但是在具体操作的过程中,感觉代码的耦合性还是很强,其实表达式部分可以加入泛型的特性,然后继承,不过最后还是没加,让整体缺了一些逻辑性。不过不管怎么说,这个任务还是完成了,最后的成果还是比较让人满意的,包括压力测试的结果也比较理想,10000个运算符能在1秒左右输出。PSP
PSP2.1 | Personal Software Process Stages | 预估耗时(小时) | 实际耗时(小时) | |
---|---|---|---|---|
Planning | 计划 | 0.5 | 1 | |
Estimate | · 估计这个任务需要多少时间 | 0.5 | 1 | |
Development | 开发 | 12 | 12.5 | |
· Analysis | ·需求分析 (包括学习新技术) | 1.5 | 1 | |
· Design Spec | ·生成设计文档 | 0.5 | 0.5 | |
Design Review | ·设计复审 (和同事审核设计文档) | 1 | 0.5 | |
· Coding Standard | ·代码规范 (为目前的开发制定合适的规范) | 1 | 0.5 | |
· Design | · 具体设计 | 2 | 3 | |
· Coding | · 具体编码 | 2 | 4 | |
· Code Review | · 代码复审 | 2 | 1 | |
· Test | · 测试(自我测试,修改代码,提交修改) | 2 | 2 | |
Reporting | 报告 | 2.5 | 4 | |
· Test Report | · 测试报告 | 1 | 2 | |
· Size Measurement | · 计算工作量 | 0.5 | 0.5 | |
· Postmortem & Process Improvement Plan | ·事后总结, 并提出过程改进计划 | 1 | 1.5 | |
合计 | 15 | 17.5 |
相关文章推荐
- 20162303 结对编程项目-四则运算 第二周输出阶段总结博客
- 20162330 结对编程项目-四则运算 第二周 整体总结
- 20162322 朱娅霖 结对编程项目-四则运算 第二周最终版总结
- 结对编程项目-四则运算(第二周总结)
- 结对编程项目-四则运算-第二周阶段总结 20162305李昱兴
- 结对编程项目---四则运算(截图,总结)
- 20162302 - 20162319 结对编程项目-四则运算(第二周)
- 20162330 结对编程项目-四则运算 第一周 阶段总结
- 20162317-20162315结对编程(四则运算)第二周阶段总结
- 20162317-20162315结对编程(四则运算)第二周阶段总结
- 结对编程项目 “四则运算”第一周阶段性总结
- 结对编程项目-四则运算(第二周)
- 结对编程项目---四则运算(截图总结篇)
- 结对编程项目-四则运算 第一周输出阶段总结博客 20162305
- 20162303 结对编程项目-四则运算 第一周输出阶段总结博客
- 结对编程项目-四则运算(阶段性总结)
- 20162311 结对编程项目-四则运算 阶段总结
- 齐力锋-刘先润 结对编程项目-四则运算(第二周)
- 结对编程项目-四则运算(总结)
- 20162325 结对编程项目-四则运算 整体总结