这是原始来源,其中包含一个非常常见的代码模式,我认为这种模式是反模式或最多不必要的冗长:
private bool SymbolDevice;
. . .
if((oemInfo.IndexOf("SYMBOL") > -1) || (oemInfo.IndexOf("MOTOROLA") > -1))
SymbolDevice = true;
else
{
SymbolDevice = false;
}
我会这样重构:
SymbolDevice = ((oemInfo.IndexOf("SYMBOL") > -1) || (oemInfo.IndexOf("MOTOROLA") > -1));
Resharper(版本2.0,Visual Studio 2003 / .NET 1.1的最新版本,这个项目是这个)以这种方式重构它:
SymbolDevice = (oemInfo.IndexOf("SYMBOL") > -1) || (oemInfo.IndexOf("MOTOROLA") > -1) ? true : false;
我同意Resharper的重构改进了遗留代码,但是我有什么理由在我的版本上选择它吗?
答案 0 :(得分:7)
我肯定会选择你的版本。 x ? true : false
相当于x
。