第十五章--使用条件语句
15.1--if语句
1.简单的if-then语句
在写if语句的时候,请遵循以下原则:
(1)首先写正常代码路径,再处理不常见的情况;
(2)确保等量的分支是正确的。如不要用“>” 代替“>=”,不要犯下off-by-one(偏差一)的错误。
(3)把正常情况的处理放在if后面而不要放在else后面。
(4)让if子句后面跟随一个有意义的语句。如避免if后面跟空语句
(5)考虑else子句。当你有一个不包含else部分的if测试的时候,除非其原因显而易见,否则请用注释来解释为什么在这里else子句是没有必要的。
(6)测试else子句的正确性。
(7)检查if子句和else子句是不是弄反了。
2. if-then-else语句串
请注意下述指导原则:
(1)利用布尔函数调用简化复杂检测,以提高可读性。
(2)把常见的情况放在最前面。
(3)确保所有的情况都考虑到了。
(4)如果你的语言支持,请把if-then-else语句串换成其他结构。如case。
15.2--case语句
1.为case选择最有效的排列顺序
(1)按字母顺序或按数字顺序排列各种情况。可提高可读性,很容易从中找出某种特定情况。
(2)把正常的情况放在前面。
(3)按执行频率来排列case子句。
2.使用case语句的诀窍
(1)简化每种情况对应的操作。如果操作复杂,请重构成子程序。
(2)不要为了使用case语句而刻意制造一个变量。如不要尝试从一个字符串中截取某一个字符来作为case语句的变量。
(3)把default子句只用于检查真正的默认情况。
(4)利用default子句来检测错误。
(5)在C++和Java里,避免代码执行越过一条case子句的末尾。
(6)在C++里,在case末尾明确无误地标明需要穿越执行的程序流程。