代码健壮性 —— 边界条件的判断
边界条件的判断包括:文件读操作:第一个字符,最后一个字符,倒数第二个字符;大于号与大于等于号;1. 数据结构关于整数:正数:包括边界值 1、0x7FFF FFFF负数:包括边界值 0x8000 0000、0xFFFF FFFF0关于序列(容器):序列为空;序列长度为 1;序列满;关于二叉树:树位空;只有根元素;只有一个左子树,或右子树;2. 对
·
边界条件的判断包括:
- 文件读操作:第一个字符,最后一个字符,倒数第二个字符;
- 大于号与大于等于号;
1. 数据结构
-
关于整数:
- 正数:包括边界值 1、0x7FFF FFFF
- 负数:包括边界值 0x8000 0000、0xFFFF FFFF
- 0
-
关于序列(容器):
- 序列为空;
- 序列长度为 1;
- 序列满;
-
关于二叉树:
- 树位空;
- 只有根元素;
- 只有一个左子树,或右子树;
2. 对于查找
-
查找一定要判断有没有找到,没有找到其实也代表着一种特别的情况,尤其在递归调用时:
int firstFree = -1; for (int i = 0; i < n; ++i){ if (!takens[i]){ if } }
3. 待处理的数组或字符串长度为 1 时
待处理的数组或字符串长度为 1 时,
for (size_t i = 0; i < n-1; ++i) // n-1 == 0
// or
for (size_t i = 0; i < s.size()-1; ++i) // s.size() - 1 == 0
是进不到循环里边的;
所以不论什么样的情况;
for (size_t i = 0; i < n; ++i)
// or
for (size_t i = 0; i < s.size(); ++i)
都会遍历全部元素。
更多推荐
已为社区贡献5条内容
所有评论(0)