• 第十五章 使用条件语句


    条件语句用于控制其它语句是否执行

    if语句

    简单if-then语句

    在写if语句的时候请遵循下述指导原则:

    1. 首先写正常代码路径,再处理不常见情况;
    2. 确保对于等量的分支是正确的;
    3. 把正常情况的处理凡在if后面而不要放在else后面;
    4. 让if子句后面跟随一个有意义的语句;
    5. 考虑else子句;
    6. 测试else子句的正确性;
    7. 检查if和else子句是不是弄反了。

    if-then-else语句串

    使用if-then-else串的时候,请注意下述指导原则:

    • 利用布尔函数调用简化负载的检测;
    • 把最常见的情况放在最前面;
    • 确保所有情况都考虑到了;
    • 如果你的语言支持,请把if-then-else语句替换成其他结构。

    case语句

    为case选择最有效的排列顺序

    • 按字母顺序或按数字顺序排列各种情况;
    • 把正常的情况放在前面;
    • 按执行频率排列case语句。

    使用case语句的诀窍

    • 简化每种情况对应的操作;
    • 不要为了使用case语句而可以制造一个变量;
    • 把default子句只用于检查真正的默认情况;
    • 利用default子句来检测错误;
    • 在C++和Java里,避免代码执行越过一条子句的末尾;
    • 在C++里,在case末尾明确无误地标明需要穿越执行的程序流程。

    核对表:使用条件语句

    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语句;
    • 各种控制结构并不是生来平等的,请为代码的每个部分选用最合适的控制结构。
  • 相关阅读:
    LINUX下 my.cnf php.ini的位置
    如何启动/停止/重启MySQL
    Windows下Git Bash中文乱码
    linux下忘记密码怎么办,如何重置密码
    如何在word里面插入目录
    git常见问题解决办法
    git配置global信息
    怎样把excel一列分成多列
    php中array_flip数组翻转
    笔记本电脑键盘字母和字母错乱怎样解决
  • 原文地址:https://www.cnblogs.com/liam-ji/p/11535513.html
Copyright © 2020-2023  润新知