【发布时间】:2015-07-15 19:49:14
【问题描述】:
我正在编写一个 nodejs 堆,性能非常重要。我有以下代码:
while(true)
if(x)
do something
return
if(y)
do ...
return
if(z)
do ...
else
return
有人建议我使用
休息
而不是
返回
并在末尾添加一个 return 以避免重复代码并使其更具可读性。是否有性能下降,如果有,有什么影响吗?
换句话说:
仅在循环中使用中断是否有不利之处 在循环之后使用 return 而不是在第一个中使用 return 地点?
【问题讨论】:
-
不是真正的性能问题,但如果您使用
break而不是return,您可以在while循环之后粘贴return并完全删除else,从而制作代码缩短一行。 -
@JamesDonnelly - 对于更糟糕的问题,这是一个糟糕的“答案”(我知道,评论)。正如目前所概述的那样,只要 (!x & !y & z),while 就会继续,删除
else会使它继续只要 (!x & !y)。但是,无论如何,这不是一个好问题。难以阅读、误导、不清楚,而且可能毫无意义。 -
代码只是一个例子,我要问的是:在循环中使用中断是否只在循环后使用 return 而不是首先使用 return 有缺点?
-
这是个坏问题。如果在循环完成后有一些代码要运行怎么办?此外,您那里没有循环。 if -> return else -> return ... while 循环有什么意义?
-
我猜它在性能方面可能很少。与以往一样,您需要自己在您的环境中进行测量才能确定。另一方面是可读性,但这更多是基于意见的。就个人而言,我更喜欢多次退货。
标签: javascript node.js performance optimization