それは私が話しているサンプルコードです:
bool DefinedProperty
{
get
{
#if DEFINE_SOMETHING
return true;
#else
return false;
#endif
}
}
...
if (!DefinedProperty)
someObject.someMethod();
...
bool someBool = DefinedProperty && SomeOtherMethod() == SomeClass.SomeProperty;
それを理解するには、DefinedProperty に戻る必要があるため、あまり読みにくいと思います。より単純なバージョンの方が優れているように思えます。
#if DEFINE_SOMETHING
someObject.someMethod();
#endif
...
#if DEFINE_SOMETHING
bool someBool = DefinedProperty && SomeOtherMethod() == SomeClass.SomeProperty;
#else
bool someBool = false;
#endif
しかし、私の同僚は、最初のバージョンはよりシンプルに見え、使用される定義が少ないほど良いと主張しています。
どちらのオプションがより読みやすいですか?