第一次结对作业
211606392 郑俊瑜 211606327 冉繁盛
磨刀霍霍向滑稽
一、预估与实际
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | ||
• Estimate | • 估计这个任务需要多少时间 | 700 | 870 |
Development | 开发 | ||
• Analysis | • 需求分析 (包括学习新技术) | 50 | 50 |
• Design Spec | • 生成设计文档 | 10 | 10 |
• Design Review | • 设计复审 | 5 | 5 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 15 | 10 |
• Design | • 具体设计 | 30 | 50 |
• Coding | • 具体编码 | 600 | 660 |
• Code Review | • 代码复审 | 10 | 10 |
• Test | • 测试(自我测试,修改代码,提交修改) | 35 | 55 |
Reporting | 报告 | ||
• Test Repor | • 测试报告 | 10 | 10 |
• Size Measurement | • 计算工作量 | 5 | 10 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 10 | 15 |
合计 | 770 | 870 |
二、需求分析
我通过查看作业要求中的问题描述的方式了解到,小学三年级四则混合运算有如下的几个特点:
- 特点1
- 运算符在2~4个
- 特点2
- 可以加括号
- 特点3
- 减法运算的结果不能有负数
- 特点4
- 除法运算除数不能为0,不能有余数
三、设计
1. 设计思路
当输入参数要显示三年级算式时,生成随机数
生成四则运算式子,判断式子是否合理,同时需要
注意括号的运用
2. 实现方案
- 准备工作:先在Github上创建仓库,克隆到本地
- 在仓库中创建文件夹,上传至github
- 技术关键点:括号的形式,答案的正确
四、编码
生成随机数,抽取运算符,然后将答案存入数组,再次抽取运算符,并与上一个运算符比较优先级,判断是否加括号。最后得出答案,存入TXT文本。
1. 调试日志
- 出现了负数
- 括号有时无法显示出来
2. 关键代码
请展示一段程序的关键代码,并解释代码的作用
if(kuohao){
//生成括号
int index1 =(int)
(Math.random()*size-1));
if(index1 % 2== 0){
}else{
index1 -=1;}
int index2 = index1 + 3;
exp.add(index1,"(");
exp.add(index2 + 1,")");
}
}while(calc(nibolan(exp))<0 || calc(nibolan(exp)) > 1000);//最后结果不能小于0大于1000和小数
for (String s :exp){
shuzi += s;
shuzi +=" ";
}
3. 代码规范
请给出本次实验使用的代码规范:
- 第一条:程序异常要进行手动处理,不抛出
- 第二条:常量的定义要准确
- 第三条:人工检查代码是否符合规范
五、测试
- 多次输入检查是否出现负数
- 当年级参数输入时大于3时,程序结果
- 生成四则混合运算时,生成的括号是否有误
六、总结
- 这次的作业,花了许多时间去查询,写出来的结果也差强人意,很多的复杂情况,是的代码有点繁琐复杂
- 写代码时及时的注释十分重要!
- 根据早上同学的想法,自己还有许多东西可以改进,提高。