【发布时间】:2010-10-27 10:23:16
【问题描述】:
通常,您可能有一个方法可以检查多个条件并返回一个状态(现在让我们说布尔值)。定义一个标志,在方法期间设置它,并在最后返回它更好吗:
boolean validate(DomainObject o) {
boolean valid = false;
if (o.property == x) {
valid = true;
} else if (o.property2 == y) {
valid = true;
} ...
return valid;
}
或者一旦知道方法的结果后直接返回更好/更正确?
boolean validate(DomainObject o) {
if (o.property == x) {
return true;
} else if (o.property2 == y) {
return true;
} ...
return false;
}
现在显然可能有 try/catch 块和所有其他类型的条件,但我认为这个概念很清楚。意见?
【问题讨论】:
-
只有一个属性有效才能使整个事物有效?
-
这只是一个简单的例子。可能有许多有效属性的组合。但是你是从条件语句内部返回还是设置一个标志变量并且只在方法结束时返回,这是真正的问题。
-
我同意这是重复的 - 但问题的结束有点矫枉过正,除非出于某种原因它们对社区有害。对于像这样的网站来说,就旧主题进行新的辩论似乎在范围之内。辩论不会转移到旧话题上。当我输入这个问题时,上述线程都没有出现在“可能重复的问题”列表中。
标签: java coding-style return-path