核对表(使用条件语句)
if-then 语句
- 代码的正常路径清晰吗?
- if-then测试对等量分支的处理方式正确吗?
- 使用了else字句并加以说明吗?
- else字句用的对吗?
- 用对了if和else子句,即没把他们用反?
- 需要执行的正常情况是位于if而不是else子句里吗?
if-then-else-if子句
- 把复杂的判断封装到布尔函数调用里了吗?
- 先判断最常见的情况了吗?
- 判断包含所有的情况吗?
- if-then-else-if是最佳实现吗?比case语句还要好吗?
case语句
- case子句排序得有意义吗?
- 每种情况的操作简单吗?必要的时候调用了其他子程序吗?
- case语句检测的时一个真实的变量,而不是一个只为了滥用case语句而刻意制造变量吗?
- 默认子句用得合法吗?
- 用默认子句来检测和报告意料之外的情况了吗?
- 在C、C++或者Java里,每一个case的末尾都有一个break吗?
要点
- 对于简单的if-else语句,请注意if子句和else子句的顺序,特别是用它来处理大量错误的时候。要确认正常的情况是清晰的。
- 对于if-then-else语句串和case语句,选择一种最利于阅读的排序
- 为了捕捉错误,可以使用case语句中的default子句(默认子句),或者使用if-then-else语句串中的最后那个else子句
- 各种控制结构并不是生来平等的。请为代码的每个部分选用最合适的控制结构
------》表驱动