为什么Objective-C中的所有东西都是由*小写创建的?

时间:2012-09-19 12:46:38

标签: iphone cocoa nsstring

我真的很担心这件事。在任何教程中,github和文档中的代码我看过BOOL,NSStrings,NDDictionaries等都以小写字母开头。例如。 NSString * aString这有必要吗?如果我在创建BOOL等时使用大写,会不会有任何损坏?我真的很困惑:P非常感谢任何帮助!

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

6 个答案:

答案 0 :(得分:7)

这只是一个风格问题。使用大写字母不会有任何损害,除非你的名声跟随这种风格。

答案 1 :(得分: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也有编码标准here

答案 2 :(得分:2)

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

Apple网站上有关于Coding Guidelines For Cocoa的文档。

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

答案 3 :(得分:1)

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

不同的语言使用不同的标准,但您应始终使用您正在使用的语言的常用样式。

答案 4 :(得分:0)

它叫做camelBack表示法。 Ruby人员喜欢underscore_notation,iOS camelBack。虽然在我看来它也更容易区分对象(camelBack)和类(大写)。

答案 5 :(得分:0)

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

BOOL  MyVariable;

它也可以工作,但它会产生一个混淆b / w类名和变量名这不是友好的代码。因此,我们使用适当的rule来声明变量