代码之家  ›  专栏  ›  技术社区  ›  MADCookie

这种模式叫什么?

  •  2
  • MADCookie  · 技术社区  · 16 年前
    Private someSub()
       If someBoolean = True Then Exit Sub
    
       ' do some great work because someBoolean is False
    End Sub
    

    我知道这有个名字。这个想法是检查一些东西,如果它不是你想要的,那么你就停止代码处理。我原以为它叫“逃逸模式”,但谷歌并没有证实这个名字。

    4 回复  |  直到 16 年前
        1
  •  9
  •   anonymous    16 年前
        2
  •  4
  •   Beska    16 年前

    嗯,我听说它叫“早期退出”(虽然大部分是在循环的上下文中),但是我认为它不是一种模式,而是一种技术。

    Private someSub()   
        If someBoolean Then Exit Sub
        ' do some great work because someBoolean is False
    End Sub
    
        3
  •  3
  •   Pete OHanlon    16 年前

    它被称为guard子句,通常用于验证方法的输入,或者在继续处理之前确保对象的状态处于合适的状态。以下是一个典型示例:

    public void DoMethod(MyObject item, int value)
    {
      if (item == null || value == 0)
        return;
    
      // Do some processing...  
    }
    
        4
  •  1
  •   Bostone    16 年前

    只需提一下,将someBoolean作为参数传入调用会更安全

    推荐文章