2010-09-28 61 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用於應用程序)這樣的前綴是個不錯的主意。在其他框架中,它們具有完成相同工作的名稱空間。