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 。记得之前大家还专门讨论过这些,比如如何用好以及在大中型项目中应该把它放在哪一个组件中等。

  • 相关阅读:
    JS 创建对象的几种方式
    JS跨域笔记
    HTML5随笔
    css3随笔
    CSS3最简洁的轮播图
    canvas createRadialGradient 用法
    git 初级
    Oracle数据库字符集与国家字符集
    连接Oracle 19c出现ORA-28040:没有匹配的验证协议
    Vmware workstation虚拟机导入到esxi虚拟机
  • 原文地址:https://www.cnblogs.com/yplong/p/5373025.html
Copyright © 2011-2022 走看看