这是原始源代码,其中包含一个非常常见的代码模式,我认为它是一种反模式,或者充其量是不必要的冗长:
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 的重构改进了遗留代码,但是我有什么理由选择它而不是我的版本吗?