2010-09-28 68 views
1

嘿,
如果我的应用程序被称为“媒体播放器”,是否给类命名是最佳做法:MPSong,MPSinger,MPAlbumsViewController ...?Objective-C类的命名指南

回答

3

苹果的Coding Guidelines for Cocoa有很多关于这方面的建议。

简而言之,鼓励使用类和协议名称的前缀,特别是如果您正在开发框架。但是,Apple已经在iPhone上为其MediaPlayer framework使用了MP前缀,因此您可能想要选择另一个。

0

所有大写的双字母前缀都由Apple保留,所以您不应该使用这些前缀。但除此之外,这个问题没有明确的答案 - 这是个人品味的问题。我个人使用库前缀而不是应用程序类。

+0

Apple [promote](https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html#//apple_ref/doc/uid/20001281-1002226-BBCJECED )使用两个字母的资本前缀。 – dreamlax 2010-09-28 21:52:33

+2

@dreamlax:在WWDC '10,苹果的一位工程师建议不要在自己的类上添加前缀,并说苹果会保留2个字母的前缀以供自己使用。见https://deimos.apple.com/WebObjects/Core.woa/BrowsePrivately/adc.apple.com.4092349126.04109539109.4144345635?i=2082492890 – mipadi 2010-09-28 22:01:38

+0

@mipadi:我今年要去,但我的老板说这不是'在苹果工程师告诉他没有必要之后(我们只处理Mac OS X开发的一个非常特殊的部分,自10.4以来没有太大变化)。时间坐下来观看所有我错过的东西。 – dreamlax 2010-09-28 22:16:23

0

我不知道我命名类的方式是否是最佳做法,但是如果我有一个对项目来说独一无二的类,我只是给它一个有意义的名称并以大写字母开头。但是如果它是一个我打算重用的类,我可以给它一个像我的公司或我自己的名字的前缀,所以我看到这个类是为了重用。

前缀的另一个原因是,如果由于同一项目中类似的字幕具有相同的名称,但具有不同的功能并且存在混淆的风险,那么前缀的名称将会相同。例如,如果你决定创建一个名为state的类,就像你所在的州一样。然后,您希望创建一个名为state的类,即您应用程序的当前状态。使用诸如ADState和APState(AD用于地址和AP用于应用程序)这样的前缀是个不错的主意。在其他框架中,它们具有完成相同工作的名称空间。