我维护由不再维护此产品的供应商编写的代码库(旧版,Java 3)。明确施放回报
我经常遇到了这样的事情:
private boolean doSomething() {
boolean success = false;
// do stuff
if (/*some stuff*/) {
success = true;
}
return success;
}
public void doStuff() {
boolean ok = (boolean) doSomething();
if (ok) {
// do stuff
}
}
所以,很显然,他们正试图确定方法成功/通过传回一个布尔值,指示状态(验证)失败......我个人认为是糟糕的做法,我宁愿给调用者一个例外泡沫,但那只是我。
我很困惑的部分,为什么/这个供应商经常显式地将布尔型返回值转换为布尔值?这是多余的,肯定会在运行时造成一些开销,不是吗?这一次我是否做错了!? - 或者这只是我应该不注意的一些文体而已?
传回方法成功状态感觉像C到我... – SnakeDoc
@SnakeDoc:也许。除非在C中,他会返回一个整数并将其与0比较。很难说出人们的想法。 –
或者他们在想什么...... – SnakeDoc