【发布时间】:2012-04-22 09:51:05
【问题描述】:
我参加了一门 C++ 课程,我们有一些作业要给老师看,里面有一些这样的 if 语句:
if (A != 10)
return 1;
...snip logic ...
return 12;
他不喜欢这样,并建议我改为这样嵌套它,即使有不止一层嵌套:
if (A == 10) {
...snip logic ...
return 12;
} else
return 1;
他无法真正向我解释他为什么要那样做。所以我的问题是,是否有任何理由包含这样的 if 语句?我认为在我的函数开始时有一些提前返回的条件既容易又干净。关于为什么这些想法之一更好/更快的任何想法或想法?之后编译出来的代码有什么大的不同吗?
【问题讨论】:
-
完全公平的问题,但不够客观,无法真正得到明确回答,因此投票结束。也就是说,这主要是风格问题。我不太喜欢第二种风格,正是因为引入了嵌套。如果我能走捷径,为什么还要等呢?
-
@GManNickG
Is there any big difference in the compiled code afterwards?,我认为这是建设性的。 -
当你在一个团队中工作时,有必要让你的代码尽可能可读,第二种方式更容易理解
-
@IntermediateHacker:我想,虽然这不是问题的实质。我们现在可以在 cmets 中说:生成的代码没有区别。完毕。 :)