Java编码标准:变量声明

afx*_*xgx 1 java coding-style

根据 Java 编码标准,以下哪项是最佳实践

public void function1(){
 boolean valid = false;
 //many lines of code
 valid = validateInputs();
 //many lines of code
}
Run Code Online (Sandbox Code Playgroud)

或者

public void function1(){
 //many lines of code
 boolean valid = validateInputs();
 //many lines of code
}
Run Code Online (Sandbox Code Playgroud)

这里的“有效”不是指退货。它的作用域仅在函数内部。有时仅在一个 if 条件下

我通常编写类似于第二种情况的代码。看来我的上级不喜欢这样,并在我提交审查时修改了代码。我的方法不正确有什么具体原因吗?

我认为第一种方法的缺点是以后很难将该方法重构为多个方法。

man*_*nub 5

我会选择第二种方法——这里与 Java 编码标准无关,而是与干净且可读的代码有关。另外,您在第一种情况下将值分配给falsevalid但这并不是真正正确的,因为valid此时不应该有任何值。

顺便说一句,我不会期望调用的方法validateInputs()会返回boolean. 没有传递任何参数,并且名称没有暗示该方法将返回某些内容。将您的代码重构为类似的东西怎么样boolean validInput = isValid(input)