Ler*_*erp 11 if-statement conditional-statements
对不起,如果标题含糊不清,我不知道如何说出来.
是否更好地表达一个条件,使得您不想要的结果进入if语句,然后退出该函数,或者我应该测试我想要的结果并使用我的代码跟随该语句.
也许一些例子会有所帮助:
我的意思是测试阴性结果:
if(myObject == null) {
return;
}
//do whatever with myObject
Run Code Online (Sandbox Code Playgroud)
我的意思是测试阳性结果:
if(myObject != null) {
//do whatever with myObject
}
Run Code Online (Sandbox Code Playgroud)
对不起,如果有人能说得比我好,请做.
我个人更喜欢第一种检查对象是否为null然后立即返回的方法.它允许"真实代码"保持不变,线性,并且可以防止许多嵌套的if语句,我发现它们更具可读性.否则,两种方式都是有效的,并且具有相同的结果.选择在您的情况下最适合的情况(可以取决于其他任何情况或if语句).
这是一个很好的例子:
if (object1 == null) {
return;
}
// do some stuff
if (object2 == null) {
return;
}
// do some stuff
if (object3 == null) {
return;
}
Run Code Online (Sandbox Code Playgroud)
反对:
if (object1 != null) {
// do some stuff
if (object2 != null) {
// do some stuff
if (object3 != null) {
// do some stuff
}
}
}
Run Code Online (Sandbox Code Playgroud)
我发现第一个更具可读性.