我经常使用这个代码模式:
while(true) {
//do something
if(<some condition>) {
break;
}
}
另一位程序员告诉我这样做是不好的实践,建议我替换成更标准的:
while(!<some condition>) {
//do something
}
他的理由是你很容易“忘记break”并导致无限循环。我告诉他在第二个例子中,你同样可以添加一个条件永远不会返回true,因此也同样容易导致无限循环,所以两种方法都是同样有效的。此外,当你有多个跳出循环的条件时,我通常更喜欢前一种方法,因为它使代码更易于阅读。
有谁能通过为其中一方添加证据来丰富这个论点?