B. *_*non 0 c# resharper refactoring
这是原始源代码,其中包含一个非常常见的代码模式,我认为它是反模式或最多不必要的冗长:
private bool SymbolDevice;
. . .
if((oemInfo.IndexOf("SYMBOL") > -1) || (oemInfo.IndexOf("MOTOROLA") > -1))
SymbolDevice = true;
else
{
SymbolDevice = false;
}
Run Code Online (Sandbox Code Playgroud)
我会这样重构它:
SymbolDevice = ((oemInfo.IndexOf("SYMBOL") > -1) || (oemInfo.IndexOf("MOTOROLA") > -1));
Run Code Online (Sandbox Code Playgroud)
Resharper(版本2.0,Visual Studio 2003/.NET 1.1的最新版本,这个项目是这样的)以这种方式重构它:
SymbolDevice = (oemInfo.IndexOf("SYMBOL") > -1) || (oemInfo.IndexOf("MOTOROLA") > -1) ? true : false;
Run Code Online (Sandbox Code Playgroud)
我同意Resharper的重构改进了遗留代码,但是我有什么理由选择它而不是我的版本?