zoukankan      html  css  js  c++  java
  • 重构第18天 用条件语句来代替异常(Replace exception with conditional)

    理解本文中的“使用条件判断代替异常”是指把没有必要使用异常做判断的条件尽量改为条件判断。

    详解

    重构前代码:

     1  public class Microwave
     2     {
     3         private IMicrowaveMotor Motor { get; set; }
     4 
     5         public bool Start(object food)
     6         {
     7             bool foodCooked = false;
     8             try
     9             {
    10                 Motor.Cook(food);
    11                 foodCooked = true;
    12             }
    13             catch (InUseException)
    14             {
    15                 foodcooked = false;
    16             }
    17 
    18             return foodCooked;
    19         }
    20     }

    重构后的代码如下所示,try   catch 做条件判断的语句改成了if   return 的方式,这样在很多程度上统一了代码的书写,同时也提高了性能。

     1 public class Microwave
     2     {
     3         private IMicrowaveMotor Motor { get; set; }
     4 
     5         public bool Start(object food)
     6         {
     7             if (Motor.IsInUse)
     8                 return false;
     9 
    10             Motor.Cook(food);
    11 
    12             return true;
    13         }
    14     }

    这个重构在项目代码中也经常用到,因为对于一部分程序员,是很难把握什么时候用try   catch ,什么地方该用try   catch 。记得之前大家还专门讨论过这些,比如如何用好以及在大中型项目中应该把它放在哪一个组件中等。

  • 相关阅读:
    Cocos2dx-Android屏幕适配方案
    Cocos2dx-Mac下的环境配置
    Cocos2dx-C++和Lua数据通讯
    Cocos2dx-Lua与C++混合使用
    安装宝塔面板
    nginx配置ssl安全证书
    在nginx上运行spring
    spring在服务器上的启动和关闭jar包
    idea常用插件
    maven打包war
  • 原文地址:https://www.cnblogs.com/yplong/p/5373025.html
Copyright © 2011-2022 走看看