使用if语句编写for循环的一般共识是什么:
for (int i = 0; i < hi; i++) {
if (some invalid condition) {
continue;
}
if (another invalid condition) {
continue;
}
//do stuff here after passing all the invalid conditions
}
而不是
for (int i = 0; i < hi; i++) {
if (valid condition1 && valid condition 2 && ...) {
//do stuff
}
在我看来,编写它的第一种方式是更清洁,更方便调试,虽然它占用更多行。我的主要问题是,如果以第二种方式编写它是否有任何优势。即使只有一个if语句,看起来第一种方式写它会更好,以便将来更容易维护/调试。
答案 0 :(得分:2)
'CONTINUE'非常罕见。在大多数情况下,在循环内遇到无效情况自然会导致“BREAK”。但是,您的示例没有任何问题,如果符合您的业务逻辑,它可能更合适。
答案 1 :(得分:0)
有些人不喜欢continue
,因为它实际上是goto
。例如,考虑:
for (int i = 0; i < hi; i++) {
....
do_this_for_each_full_iteration();
}
如果....
包含任何continue
语句,则会绕过do_this_after_each_full_iteration()
。
这些人往往不喜欢return
从函数中间开始。