结对编程练习--计算机
组员
201521153024 陈艺祥 201521153025 刘永鑫 201521011378 黄壘
需求分析:
1)能够完成基本四则运算; 2)能够处理除数为0的情况; 3)四则运算中运算符的优先级; 4)处理基本输入错误;
代码规范
1)使用Tab键进行首行缩进; 2)变量,属性,方法采用驼峰命名法则; 3) 每个函数或者方法都采用空行的方式进行区分; 4)“}”空一行写,而{跟在代码后面; 5)类名首字母大写,不使用驼峰命名法则;
提供项目开发的码云地址
https://gitee.com/lyx1995/codes/t0nvofu7zxpkq9ejgys2b19;
测试用例
List<String> s=new ArrayList<String>(); @Before public void setUp() throws Exception { s.add("1+2*3"); s.add("4-5*6"); s.add("7*1/2"); s.add("8/2*4"); s.add("19/0"); s.add("9+/2"); s.add("(1+2)*3"); } @After public void tearDown() throws Exception { } @Test public void testcalculate() { assertEquals(CalString.calculate(s.get(0)), 7.0,1e-6); assertEquals(CalString.calculate(s.get(1)), -26.0,1e-6); assertEquals(CalString.calculate(s.get(2)), 3.5,1e-6); assertEquals(CalString.calculate(s.get(3)),16.0,1e-6); assertEquals(CalString.calculate(s.get(4)), 0.0,1e-6); assertEquals(CalString.calculate(s.get(5)), 0.0,1e-6); assertEquals(CalString.calculate(s.get(6)), 9,1e-6); } 在测试过程中发现该计算器无法识别除数为0的时候和并没有办法进行优先级运算,为此我们在老师给的基础上进行了调整,重新编写了图形化界面,并使计算器能够识别括号等计算优先级高的符号
,并且能够计算较长表达式;并在完成之后再一次进行了测试, 测试发现除数为0时输出的是错误提示,导致测试有不足之处;
小结:
通过这次的实验项目,我学习到了很多,让我发现了自己与同学之间的差距,让我知道自己以是有多么的菜,在我看来这次的作业挺难的,我从开始着手做到现在花了好多时间,但我发现自己水平还是不够,不能够实现自己预期的功能,后来在陈艺祥和刘永鑫同学的帮助下慢慢理解了我们要做的内容,因此我也发现做项目一个人是很难做好的,如果有一个团队可以更好的沟通,解决问题。下面是我的一个psp表格:
PSP2.1 |
Personal sofaware process stages |
Estimate time(单位:分钟) |
Actual Time(单位:分钟) |
Planning |
计划 |
30 |
10 |
Estimate |
估计任务时间 |
5 |
3 |
Development |
开发 |
120 |
180 |
Analysis |
需求分析 |
10 |
4 |
Design Spec |
生成设计文档 |
5 |
4 |
Design Review |
设计复审 |
8 |
20 |
Coding Standard |
代码规范 |
10 |
6 |
Design |
具体设计 |
10 |
20 |
Coding |
具体编码 |
50 |
65 |
Code Review |
代码复审 |
12 |
15 |
Test |
测试 |
15 |
13 |
Reporting |
报告 |
10 |
12 |
|
测试报告 |
5 |
4 |
|
计算工作量 |
6 |
2 |
|
并提出过程改进计划 |
5 |
6 |