典型例子:
while foo.hasBar() && foo.getBar() != spam
{
do lots of stuff
}
foo.getBar()如果没有条形,则会引发异常。但是,除非foo有一个条形,否则保证不会评估此表达式。这被认为是一种很好的编程风格吗?
答案 0 :(得分:2)
如果你正在使用一种语言来保证对布尔值的评估(这很常见,并且被称为short-circuit evaluation),那么是的,那当然可以依赖。
另一方面,在循环中不必要地重复foo.hasBar()
测试对我来说似乎非常笨拙。