命名约定(单数或复数名称类)

时间:2013-10-19 09:35:56

标签: ios objective-c xcode

我有一个模拟商店的。所以它有以下属性:

  • 名称
  • 描述
  • 地址
  • 电话
  • ......等。

我是否必须将其命名为 ShopInfo ShopInfos

命名约定的任何链接

2 个答案:

答案 0 :(得分:3)

如果您有一个班级的对象,那么只有一个商店的信息。 该对象描述了一个商店信息。 以这种方式编写类名是很常见的,它在使用对象时有意义

特别是在方法名称和声明变量中,它更清晰

// CORRECT WAY
- (UIAlertView *)calcualteSomething:(UIView I)view {
    UIView *newView = view;
    ...
    return [UIAlertView alertWith...];
}

在我看来使用复数形式会很奇怪(似乎单个对象不止一个!):

// BAD IDEA
- (UIAlertViews *)calcualteSomething:(UIViews *)view {
    UIViews *newView = view;
    ...
    return [UIAlertViews alertWith...];
}

然后,您可以轻松地使用对象或测试类,这也是有道理的:

[myObject isKindOfClass:[NSString class]]

以下是您应该如何撰写姓名的官方链接:

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html#//apple_ref/doc/uid/20001281-BBCHBFAH

你看,Apple总是避免使用复数形式(NSString,NSArray等)。

当然,绕过它的另一种方式也是有道理的,但更多的是类方法等。其他流行语言也使用单数形式进行课程。


其他一些好的编码指南来自 CocoaDevCentral

http://cocoadevcentral.com/articles/000082.php

http://cocoadevcentral.com/articles/000083.php

答案 1 :(得分:1)

ShopInfo是正确的,ShopInfos对于例如ShopInfo数组很有用,但不推荐使用它,因为名字相似会带来混乱。