这是第一次的同桌结对:
一、单元测试
(1)单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。
(2)单元测试的对象:软件设计的最小单位——模块或函数
(3)单元测试的目的:1、为了提高软件开发效率和质量2.统一单元测试风格3、保证文档与单元
4、测试编码的一致性5、方便开发人员进行单元测试的开发 6、使单元测试能够有效正常的自动执行
下面是一个要单元测试的函数
int Largest(int list[], int length){ int i,max; for(i = 0; i < (length – 1); i ++ ) { if(list[i] > max) { max=list[i]; } } return max;}
该函数是求词组中最大值
很明显大家都会看到这个函数的一些错误(1)max 没赋初值(2)for函数中的长度不对
进行测试时我们可能只会考虑 9 8 7,2 5 8等一些常规的例子
在实际上我们还要考虑一些特殊的例子如:负数 -4 - 6 -9,有相等的情况 7 2 9 9,只有一个元素情况 8,甚至还要考虑
数组长度为0,数组为空的情况
总之,在测试的时候我们不能只以我们的思想去测试,还要考虑不懂这些的人的想法,
如边界条件,输入不合规定的情况,考虑各种可能的错误。
改正后的代码是
int Largest(int list[], int length){ if(length==0||list==NULL) { printf("输入数组有误!"); return 0; } int i,max=list[0]; for(i = 0; i < length; i ++ ) { if(list[i] > max) { max=list[i]; } } return max;}
二、代码规范
“代码规范”可以分成两个部分
(1)代码风格规范 (2)代码设计规范
代码规范注重以下几点
1、代码风格的原则是:简明,易读,无二义性。
2、代码的缩进控制到四个空格,用tab键换行, 行宽必须限制,
3、在复杂的条件表达式中,用括号清楚地表示逻辑优先级。
4、代码分行 不要把多行语句放在一行上 断行与空白的{ }行,{和}各占单独一行
5、命名规范 ,匈牙利命名法
6、注释规范 ,注释是用来解释程序做什么(What),为什么这样做(Why),复杂的注释应该放在函数头
7、还应该注意大小写,下划线等问题