检查变量是否等于某个值然后返回该值是多余的?

时间:2014-10-16 01:34:53

标签: vb.net

我的公司有一个用VB.net编写的软件,我之前从未真正使用过该语言。我遇到了以下情况:

If x Is Nothing Then Return Nothing '  x's type should be an instance of a class
  Return x

这似乎与以下内容相同:

if(x == null) //Object.ReferenceEquals() if you want to be more accurate/verbose?
    return null;
return x;

这似乎非常多余。是否有人会在VB中执行此操作?

1 个答案:

答案 0 :(得分:1)

可能只是累积代码腐烂,当您对代码进行最小的更改以适应时发生的事情,而不是正确的重新设计。

例如,过去可能是:

If x is Nothing Then
    Return 0
End If
Return x

可能是因为来电者无法处理nothing

当它们被更改以便可以处理它时,功能几乎没有改变。

这有时是在现场错误修复期间采取的方法,以尽量减少变化,从而可能造成进一步的损害,但我希望至少有一条评论表明将来会做出“全面”的改变。

无论如何,你的'为什么'在很大程度上是不相关的,你可以安全地删除if声明。