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

时间:2010-10-20 08:12:18

标签: language-agnostic error-handling initialization

在编写函数时,我总是有这样的困惑:是先检查错误还是稍后声明变量(或)将参数分配给局部变量,然后检查错误。以下哪种方式首选,为什么?我通常坚持第一种类型。

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 个答案:

答案 0 :(得分:7)

您应该遵循接近规则,并尽可能将变量声明为 late 。这使他们的创建和使用本地化。您还应该在最早可能的机会检查有效性参数,以最大限度地减少所执行的工作。

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

既然你说的是“语言不可知”,尽管你的代码看起来有点奇怪:-),几乎可以肯定有些语言你没有选择,变量必须在顶部声明。

答案 1 :(得分:1)

在需要时声明变量,通常在某些中间结果准备就绪或者您即将进入循环时。

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