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

变量声明与错误检查:哪一个优先?

  •  3
  • rkg  · 技术社区  · 14 年前

    在编写函数时,我总是很困惑,是先检查错误,然后再声明变量,还是将参数赋给局部变量,然后检查错误。以下哪种方式是首选的?为什么?我通常坚持第一种类型。

    void DoSomething1(Object x, Object y){
    
      // All sort of error checking goes here
      if IsError(x) return;
      if IsError(y) return;
    
      // Variable declaration
      int i,j;
      Object z = x;
    }
    
    
    void DoSomething2(Object x, Object y){
    
      // Variable declaration
      int i,j;
      Object z = x;
    
      // All sort of error checking goes here
      if IsError(z) return;
      if IsError(y) return;
    
    }
    
    2 回复  |  直到 14 年前
        1
  •  7
  •   paxdiablo    14 年前

    您应该遵循接近规则并将变量声明为 晚的 尽可能的。这就使它们的创造和使用本地化了。您还应该在 最早的 尽可能减少所做工作的机会。

    因此我同意你的第一个更好,但是 主观的。对于另一种方法可能有争论,但我还没有听到令人信服的,所以我认为这两个准则是最佳实践。

    尽管您的代码看起来有点奇怪地熟悉,但是您声明“语言不可知”:-,几乎可以肯定的是,有些语言您没有选择权,必须在顶部声明变量。

        2
  •  1
  •   djna    14 年前

    在需要时声明变量,通常是在某个中间结果准备好或即将进入循环时。

    因此,这确实意味着错误检查通常会在声明之前进行。