1

这是我正在谈论的示例代码:

    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  

然而,我的一位同事认为第一个版本看起来更简单,使用的定义越少越好。

哪个选项更具可读性?

4

0 回答 0