gpt4 book ai didi

while-loop - while (true) 与break 是不好的编程习惯吗?

转载 作者:行者123 更新时间:2023-12-03 05:51:05 25 4
gpt4 key购买 nike

我经常使用这个代码模式:

while(true) {

//do something

if(<some condition>) {
break;
}

}

另一位程序员告诉我这是不好的做法,我应该用更标准的方式替换它:

while(!<some condition>) {

//do something

}

他的理由是你可能太容易“忘记休息”并陷入无限循环。我告诉他,在第二个例子中,你可以很容易地放入一个永远不会返回 true 的条件,因此很容易产生无限循环,因此两者都是同样有效的做法。

此外,我通常更喜欢前者,因为当您有多个断点(即退出循环的多个条件)时,它使代码更易于阅读。

任何人都可以通过添加一方或另一方的证据来丰富这一论点吗?

最佳答案

两个示例之间存在差异。第一个将每次至少执行一次“做某事”,即使该语句从来不为真。第二个只会在语句评估为 true 时“做某事”。

我认为您正在寻找的是一个 do-while 循环。我 100% 同意 while (true) 不是一个好主意,因为它使维护此代码变得困难,并且您转义循环的方式非常 goto 式的被认为是不好的做法。

尝试:

do {
//do something
} while (!something);

检查您的个人语言文档以了解确切的语法。但是看看这段代码,它基本上执行了 do 中的操作,然后检查 while 部分以查看是否应该再次执行。

关于while-loop - while (true) 与break 是不好的编程习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/390481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com