我的重构不正确和明确吗?

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的重构改进了遗留代码,但是我有什么理由选择它而不是我的版本?

Tim*_*lds 7

我肯定会选择你的版本.x ? true : false相当于x.