第三章:代码review常见的问题

3.1 数据引入错误
1、引入的变量未赋值或未初始化
2、数组引用,下标在界限之内,是否为整数
3、所有通过指针或着引用变量的引用,内存是否分配:指针的生命周期大于所引用内存单元的生命周期,错误就会发生。当指针引用了过程中的一个局部变量,而指针的值被赋给一个输出参数或一个全局变量,过程运行结束,再次调用指针,就会发生错误
4、同一个内存区域有不同属性的别名,当通过别名引用时,内存区域的数值是否具有正确的属性。如一个实型变量A和一个整型变量B,两者都通过定义成同一内存区域的别名,如果先用A赋值,引用变量B,由于机器可能会将内存中的浮点位表示实数当作整数

3.2 数据声明错误
1、是否所有变量都进行了声明、变量名重复
2、如果变量属性没有明确说明,默认的属性能否被正确理解
3、初始化是否正确、正确的长度和数据类型

3.3 运算错误
1、变量之间数据类型不一致的运算
2、是否有混合模式的计算,将浮点变量与一个整型变量做加法的运算
3、赋值语句的目标变量的数据类型能否小于右边表达式的数据类型或结果
4、是否存在表达式向上或向下溢出的情况
5、除数是否可能为0

3.4 比较错误
1、不同数据类型变量之间的比较运算
2、比较运算符是否正确
3、布尔表达式内容是否正确,与或非表达式检查
4、布尔运算符的操作数是否时布尔类型,比较运算符和布尔运算符是否错误的混在了一起。
如果想判断i是否在2和10之间,表达式2<i<10是错误的;相反,正确的应该是(2<i)&&(i<10)

3.5 控制流错误
1、如果程序包含多条分支链路,索引变量的值是否会大于可能的分支数量
2、是否所有的循环都最终终止了
3、程序、模块、子程序是否都最终终止了
4、是否存在迭代数量多一次或少一次

3.6 接口错误
1、被调用模块接收的形参是否等于调用模块发送的实参数量,顺序是否正确
2、实参的属性是否和相应的形参属性相匹配
3、全局变量,引用他们的模块中,定义和属性是否相同

3.7 输入输出错误
1、文件声明过,属性是否正确
2、打开文件的语句中,属性的设置是否正确
3、是否有足够的内存,保留读取的文件
4、是否所有文件在使用之前、使用之后就关闭了
5、正确处理了file not found的问题

posted @   测试三思  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示