![]() |
1
6
今天几乎每一种编程语言
uses short-circuit evaluation for
如果它们分布在整个函数中并且返回不同的内容,那么确实应该避免有多个返回,因为这会降低可读性。另一方面,具有检测不可接受条件并停止执行流的提前退出条件是相当标准的:
|
![]() |
2
3
关于你的第二个例子
知道这一点,我可能会选择第二个例子。 |
![]() |
3
2
后者,但作为:
用“返回”来退出您的代码是不好的做法,并使调试成为噩梦——尤其是如果它是您试图调试的ELSE代码的话!控制流应该总是在函数的底部退出! |
![]() |
4
1
在C语言中,你可以使用第二个版本,因为在性能上是一样的,但是看起来更好。如果
|
![]() |
5
0
在第二种情况下,因为您使用的是逻辑或第二种条件,只有在必要时才会检查,所以我想用第二种更好的编码标准。 |
![]() |
6
0
我认为后一个例子在编码方面更好。在OR语句中,atmost one condition为true语句为true。所以如果第一个条件是真的,就不会再考虑其他条件了。速度和效率没有损失。 |
![]() |
7
0
这完全取决于语言。许多语言都会短路评估,因此,如果
而且,不管“避免多重回报”的人群会告诉你什么,那就是 不 你应该像羊一样遵守规则。这是为了避免出现很难看到返回(或循环中断)发生的情况。你的第一个解决方案不会比你的第二个解决方案更受这个问题的困扰。 盲目地追随教条而不理解其背后的原因,应该是一种可处以痛苦折磨的罪行。 |
![]() |
Alex Pander · cleaner代码的嵌套命名空间[已关闭] 6 年前 |
![]() |
Jamil Noyda · 导入模块的最佳方式Python[复制] 6 年前 |
![]() |
Samselvaprabu · 我们是否需要不惜任何代价避免重复? 6 年前 |
![]() |
user9549524 · 基于一列的值从二维矩阵中提取值 6 年前 |
![]() |
MedAl · 不使用try/catch处理异常 6 年前 |
![]() |
Declan McKenna · 特殊情况模式在Swift中是否多余? 6 年前 |