zoukankan      html  css  js  c++  java
  • 4.5 以卫语句取代嵌套条件式

    【1】原代码

     1 double GetPayAmount()
     2 {
     3     double result;
     4     if (IsDead())
     5     {
     6         result = DeadAmount();
     7     }
     8     else
     9     {
    10         if (IsSeparated())
    11         {
    12             result = SeparatedAmount();
    13         }
    14         else
    15         {
    16             if (IsRetired())
    17             {
    18                 result = RetiredPayAmount();
    19             }
    20             else
    21             {
    22                 result = NormalPayAmount();
    23             }
    24         }
    25     }
    26 
    27     return result;
    28 }

    【2】以卫语句取代嵌套条件式

     1 double getPayAmount()
     2 {
     3     if (isDead())
     4     {
     5         return deadPayAmount();
     6     }
     7     if (isSeparated())
     8     {
     9         return separatedPayAmount();
    10     }
    11     if (isRetired())
    12     {
    13         return retiredPayAmount();
    14     }
    15 
    16     return normalPayAmount();
    17 }

    【3】总结

    函数中的条件逻辑使人难以看清正常的分支执行路径。使用卫语句表现所有特殊情况。

    谓卫语句,如果某个条件极其罕见,就应该单独检查该条件,并在该条件为真时立刻从函数中返回。这样的单独检查常常被称为“卫语句”。

    Good Good Study, Day Day Up

    顺序 选择 循环 总结

  • 相关阅读:
    Entity Framework4.0 (一)概述(EF4 的Database First方法)
    开园第一篇,Hello cnBlog
    汇编学习笔记32
    汇编学习笔记25
    汇编学习笔记33
    汇编学习笔记28
    汇编学习笔记29,30
    汇编学习笔记23
    汇编学习笔记27
    汇编学习笔记31
  • 原文地址:https://www.cnblogs.com/Braveliu/p/7364369.html
Copyright © 2011-2022 走看看