0

我真的很困惑这件事。在任何教程、github 上的代码和文档中,我都看到 BOOL、NSString、NDDictionaries 等都以小写字母开头。例如。NSString *aString 这个有必要吗?如果我在创建 BOOL 等时使用大写字母,是否会毁掉任何东西?我在这里真的很困惑:P 非常感谢任何帮助!

编辑:使用下划线然后在 Capitals 中声明变量是个好主意吗?

4

6 回答 6

7

这只是风格问题。使用大写字母不会毁掉任何东西,除了你在遵循这种风格的人中的声誉。

于 2012-09-19T12:47:50.643 回答
5

从评论中添加

它更多的是编码标准。我刚刚参加了 SCJP 考试,他们有一整章是关于编码标准的。由程序员决定他们如何在那里开发代码,但要考虑必须对其进行修改的人。使用大写字母会使阅读更容易还是更难阅读。我的建议是坚持大多数开发人员都理解的编码标准。

同样在编码标准下,您通常会用大写字母和以小写字母开头的变量声明您的类。这样在进行修改时不会让其他开发人员感到困惑,更重要的是不会让您感到困惑。如果您对自己的代码感到困惑,那就不好了。

但标准说它应该是这样的:

 NSString *nsString; // Not that you should be having a variable like this. But stops the any confusion.
 [nsString uppercaseString];

如果你有这个,它会开始变得混乱

 // Compile won't actually let you have this just an example of confusion and reserved words. 
 NSString *NSString;
 [NSString uppercaseString];

在编码标准中,经验丰富的开发人员必须知道,任何以大写字母开头的东西通常都是一个类,而任何以小写字母开头的东西都是一个变量。这几乎适用于所有编程语言。我在学习时确实看到了一些关于编码标准的困惑prolog

和 Sun一样,Apple 也有编码标准

于 2012-09-19T13:56:54.803 回答
2

它是 Cocoa 中的编码约定之一。

Apple 网站上有一份关于Cocoa 编码指南的文档。

遵循这些约定很有用。不仅因为它使您的代码更容易被其他 Cocoa 开发人员阅读,还因为现代 LLVM 编译器有时依赖这些约定,并且您将收到编译器警告,因为您认为是误报而不是因为你的非常规代码。

于 2012-09-19T14:01:42.503 回答
1

这是一个通用标准,可帮助您区分类和类/变量的实例。

不同的语言使用不同的标准,但您应该始终使用您所使用语言的通用样式。

于 2012-09-19T12:50:57.553 回答
0

它被称为camelBack Notation。Ruby 人喜欢 underscore_notation,iOS camelBack。虽然在我看来,它也更容易区分对象(camelBack)和类(大写)。

于 2012-09-19T12:49:55.913 回答
0

这只是Objective-C风格或标准。你也可以像这样声明你的变量 -

BOOL  MyVariable;

它也可以工作,但会造成混淆 b/wa 类名和变量名,这不是友好的代码。所以我们使用正确rule的声明变量

于 2012-09-19T13:20:49.557 回答