Eon*_*nil 18 convention boolean objective-c naming-conventions
大多数语言都使用true/false关键字作为布尔值.我发现即使是Smalltalk也在使用true/false.我知道Objective-C只是借用Smalltalk的概念,而不是语言本身,但我很好奇为什么它使用YES/NO而不是更广泛使用true/false.有历史原因吗?
Abh*_*uch 35
Objective-C被设计为(现在仍然是)C的严格超集.创作者非常努力地确保他们不会以任何方式破坏与C的兼容性.他们还尝试使他们的修改有些明显,以便很容易分辨代码的哪些部分使用Objective-C以及哪些部分使用plain C.例如,@用于表示NSStrings而不是仅仅使用引号.这允许普通C字符串与新字符串共存.
C已经有一个TRUE/FALSE宏的非正式系统.我怀疑Objective-C的设计者选择了YES/NO宏来避免冲突,并且很明显代码实际上是Objective-C.还要注意nil'empty'对象的用法,而不仅仅是修改好旧NULL的行为.
Objective-C是一种非常详细的语言,所有方法都是非常具有描述性的,并且使用YES/NO表示布尔值而不是true/false使得它更具人性化.
你可能会发现以下对话很奇怪,如果它发生在现实生活中:A:"你看过电影了吗?" B:"真实"
如果B回答"是"(或"否"),则听起来完全正常,并且使用YES/NO而不是true/false,代码看起来更像普通英语.
| 归档时间: |
|
| 查看次数: |
4444 次 |
| 最近记录: |