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

  • 相关阅读:
    使用net start mysql的时候出现服务名无效的原因及解决办法
    Appium的安装
    cpu
    单例模式
    Java中Synchronized的用法(简单介绍)
    java随机数Reandom(简单介绍)
    多线程面试题
    线程和进程有什么区别(简单介绍)
    java多线程(简单介绍)
    servlet三种方式实现servlet接口
  • 原文地址:https://www.cnblogs.com/yplong/p/5373025.html
Copyright © 2011-2022 走看看