0

これは元のソースです。これには、アンチパターンまたはせいぜい不必要に冗長であると私が考える非常に一般的なコードパターンが含まれています。

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 のリファクタリングがレガシー コードを改善することに同意しますが、私のバージョンよりも Resharper を選択する理由はありますか?

4

1 に答える 1

7

私は間違いなくあなたのバージョンを選びます。x ? true : falseと同等xです。

于 2013-02-25T22:03:35.150 に答える