Fin*_*las 2 refactoring coderush
考虑:
if (something) {
// Code...
}
Run Code Online (Sandbox Code Playgroud)
安装CodeRush后,建议:
if (!something) {
return;
}
// Code...
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下这更好吗?当然,没有任何好处.
孤立,正如你所呈现的那样 - 没有任何好处.但是mark4o是正确的:它不那么嵌套,如果你看一下就会变得非常清楚,比如一个4级嵌套:
public void foo() {
if (a)
if (b)
if (c)
if (d)
doSomething();
}
Run Code Online (Sandbox Code Playgroud)
与
public void foo() {
if (!a)
return;
if (!b)
return;
if (!c)
return;
if (!d)
return;
doSomething();
}
Run Code Online (Sandbox Code Playgroud)
这样的早期回报提高了可读性.
在某些情况下,在方法开头验证所有输入更简洁,如果有任何不正确的话,只需挽救.您可以进行一系列单级if检查,在您确信输入良好之前,会连续检查越来越多的具体事项.然后,该方法的其余部分将更容易编写,并且往往具有更少的嵌套条件.