【发布时间】:2018-05-15 11:39:02
【问题描述】:
private void test() {
// Nested if block
if (true) { // If condition is true
if (true) { // If condition is true
if (true) { // If condition is true
if (true) { // If condition is true
// statement
}
}
}
}
// Above block breaking in below way
// Breaking nested if in multiple with return statement
if (false) { // If condition is false
return;
}
if (false) { // If condition is false
return;
}
if (false) { // If condition is false
return;
}
if (false) { // If condition is false
return;
}
}
OOP 建议使用多个 return 语句是个坏主意。但是如果我使用多个嵌套的 if 那么它看起来非常复杂。 请建议使用嵌套 if 条件的最佳方法
【问题讨论】:
-
当你嵌套了太多的 if 语句时,这通常是一个非常明显的信号,表明你的函数做得太多了。尝试将您的方法重构为更小的部分(方法),每个部分都有自己的特定功能。
-
"OOPs 建议多个 return 语句是个坏主意。"我个人认为这是被夸大的教条。它可能表明方法做得太多,但它通常是编写没有做得太多的方法的最简单方法。
-
如果您的方法执行起来可能很昂贵,那么当您的部分验证失败时,尽早
return会很有帮助。因此,在方法中尽早完成时,if(false){return;}可能会提高代码的性能。
标签: java