8

在 Google 的Objective-C 风格指南中,很多人都遵循,Google 说

类成员变量有尾随下划线

为什么?这样做有什么好的理由吗?我发现苹果通常在开始下划线时命名一个 ivar。

4

4 回答 4

26

我更喜欢尾随下划线,因为如果我有:

int test_;

我可以输入“t”,它会立即出现在代码完成中。

int _test;

我必须输入“_t”才能进入代码完成中的 T。

这是否属实,不确定,但这是我说服自己的。

于 2011-04-12T01:31:21.123 回答
5

Core Data 的重度用户也会注意到 Core Data 属性不能以非字母字符开头。如果您想在您的应用程序和各种项目中一致地命名 ivars,这是使用下划线附加而不是预先添加 ivars 的另一个原因。

如果你没有经常使用 Core Data,或者你没有强迫症倾向,命名约定的一致性,那么最适合你的可能就是正确的答案。

于 2011-04-12T02:53:00.620 回答
2

这可能是他们的C++ style guide的继承。在 C++ 中,前导下划线是保留的。

他们对objective-c ivars 的命名约定与c++ 私有成员变量一致。

于 2011-11-10T22:57:25.777 回答
1

这只是他们喜欢的风格。下划线,无论是前缀还是后缀,都表示它是私有 ivar,而不是属性或公共 ivar。

于 2011-04-12T01:30:13.783 回答