rkg*_*rkg 3 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;
}
Run Code Online (Sandbox Code Playgroud)
您应该遵循接近规则并尽可能晚地声明变量.这使他们的创建和使用本地化.你也应该在检查有效参数最早可能的机会,最大限度地减少执行的工作.
因此,我同意你的第一个更好,但它是主观的.对于另一种方法可能有争议,但我还没有听到有说服力的方法,所以我认为这两条指导方针是最佳做法.
既然你说的是"语言不可知",尽管你的代码看起来有点奇怪:-),几乎可以肯定有些语言你没有选择,变量必须在顶部声明.