在编写函数时,我总是有这样的困惑:是先检查错误还是稍后声明变量(或)将参数分配给局部变量,然后检查错误。以下哪种方式首选,为什么?我通常坚持第一种类型。
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;
}
答案 0 :(得分:7)
您应该遵循接近规则,并尽可能将变量声明为 late 。这使他们的创建和使用本地化。您还应该在最早可能的机会检查有效性参数,以最大限度地减少所执行的工作。
因此我同意你的第一个更好,但是主观的。对于另一种方法可能有争议,但我还没有听到令人信服的方法,所以我认为这两条指导方针是最佳做法。
既然你说的是“语言不可知”,尽管你的代码看起来有点奇怪:-),几乎可以肯定有些语言你没有选择,变量必须在顶部声明。
答案 1 :(得分:1)
在需要时声明变量,通常在某些中间结果准备就绪或者您即将进入循环时。
所以这确实意味着错误检查通常会在声明之前进行。