【发布时间】:2012-10-23 12:07:57
【问题描述】:
我在几个应用程序中看到我支持以下句子:
Random rnd = new Random();
if (rnd.NextDouble() < 1)
{
' Do stuff
}
这样做的目的是什么? rnd 将始终返回一个低于 1 的值。我唯一能想到的是,如果您模拟 Random,那么您将能够停用代码的某些部分。
你怎么看?你发现过这样的事情吗?
编辑:问题是这些句子位于不同但相关的代码部分,并且始终涵盖整个功能。这就是为什么我倾向于认为这是故意编码的。而且代码似乎具有一定程度的质量,这是一个错误,如果提供所有其他代码,我会感到惊讶。
【问题讨论】:
-
如果我可以问,您只是出于好奇,还是想实施它?如果有,你有什么想法?
-
或者有人从未阅读过
NextDouble()的文档? -
这似乎是多余的代码,难道他们最初使用除 1 之外的其他值测试应用程序,并且出于懒惰,代码仍保留在最终版本中?不幸的是,我过去曾见过这种情况。
-
无论如何,在没有评论的情况下使用它看起来非常可疑。问写它的人。 (模拟 Random 以返回大于 1 的东西似乎也可能会破坏。)
-
如果在 Visual Studio 中只需突出显示方法名称并按 Shift+F12 - 查找所有引用。