Cocoa 編碼指南 為實例變量和數據類型命名
Cocoa 編碼指南 為實例變量和數據類型命名是本文要介紹的內容,本節描述實例變量、常量、異常、以及通知的命名約定。先來看內容。
實例變量
在為某個類添加實例變量時,請記住下面幾個因素:
避免創建公共實例變量。開發人員應該關心對象的接口,而不是對象的數據存儲方式這樣的細節。
請把實例變量顯式聲明為@private或者@protected。如果您預期所提供的類會被子類化,并且子類可能需要父類的數據, 則請使用@protected指令來修飾實例變量。
請確保實例變量的名稱能夠扼要地描述它所保存的屬性。
如果實例變量將作為類對象的可訪問屬性,則請務必為其編寫存取方法。
常量
根據常量創建方式不同,其命名規則也有所差異。
枚舉常量
請使用枚舉類型來表示一群相互關聯的整數值常量。
枚舉常量及其所屬的通過typedef定義的數據類型遵循和函數一樣的命名約定(請查看“為函數命名”一節)。下面是一個取自NSMatrix.h文件的例子
- typedef enum _NSMatrixMode {
- NSRadioModeMatrix = 0,
- NSHighlightModeMatrix = 1,
- NSListModeMatrix = 2,
- NSTrackModeMatrix = 3
- } NSMatrixMode;
請注意,在上述例子中,typedef標簽不是一定要具有的。
您也可以創建匿名的枚舉類型來表示諸如位掩碼這樣的事物。例如:
- enum {
- NSBorderlessWindowMask = 0,
- NSTitledWindowMask = 1 << 0,
- NSClosableWindowMask = 1 << 1,
- NSMiniaturizableWindowMask = 1 << 2,
- NSResizableWindowMask = 1 << 3
- };
使用const 創建的常量
請使用const 來創建浮點值常量。如果某個整數值常量和其他的常量不相關,您也可以使用const來創建,否則,則應使用枚舉類型。
下面的聲明展示了const常量的格式:
- const float NSLightGray;
使用枚舉類型聲明的常量遵循和函數相同的命名約定。(請參考“為函數命名”一節)。
其他類型的常量
通常情況下, 請不要使用#define預處器理命令創建常量。對于整數值常量,請使用枚舉類型創建,而對于浮點值常量,請使用const修飾符創建,這和前述的原則一樣。
有些符號,預處理器需要對其進行計算,以便決定是否要對某一代碼塊進行處理,則它們應該使用大寫字符表示。例如:
- #ifdef DEBUG
請注意,編譯器定義的宏,其開頭和結尾要具有兩個下劃線字符。例如:
- __MACH__
對于通告名稱或字典關鍵字的字符串,請將其定義為常量。通過使用字符串常量,編譯器可以驗證字符串是否被正確賦值(也就是說, 編譯器將執行拼寫檢查)。Cocoa框架提供很多字符串常量的例子,例如:
- APPKIT_EXTERN NSString *NSPrintCopies;
在實現文件中,NSString的實際值被指定為常量。(請注意,APPKIT_EXTERN宏經過計算之后是Objective-C中的extern關鍵字)。
異常和通告
異常和通告的名稱遵循相似的命名規則,但是我們為二者推薦的使用模式并不相同。
異常
盡管您可以隨意地將異常(即NSException類和一些相關聯的函數所提供的機制)用于任何目的,但是通常情況下,cocoa不會利用他們來處理常規的、可預期的錯誤條件。這類錯誤應使用諸如nil、 NULL、 NO這樣的返回值或者錯誤碼來表示。通常,Cocoa把異常用于表示諸如數組索引越界這樣的編程錯誤。
異常使用全局的NSString對象來標識,其名稱按如下的方式進行組合:
- [Prefix] + [UniquePartOfName] + Exception
異常名稱中的具有唯一性的那部分,其組成詞應該拼寫在一起, 并且每個單詞的首字符要大寫。下面是一些例子:
- NSColorListIOException
- NSColorListNotEditableException
- NSDraggingException
- NSFontUnavailableException
- NSIllegalSelectorException
通告
如果某個類含有委托,則通過所定義的委托方法,類的委托可以收到大部分通告。通告的名稱應該反映相應的委托方法。例如,一旦應用程序發送一則NSApplicationDidBecomeActiveNotification的通告,則全局NSApplication對象的委托就會自動進行注冊,這樣它就可以接收到一條applicationDidBecomeActive:的消息。
通告使用全局的NSString對象進行標識,其名稱按如下的方式組合:
- [Name of associated class] + [Did | Will] + [UniquePartOfName] + Notification
例如:
- NSApplicationDidBecomeActiveNotification
- NSWindowDidMiniaturizeNotification
- NSTextViewDidChangeSelectionNotification
- NSColorPanelColorDidChangeNotification
小結:關于Cocoa 編碼指南 為實例變量和數據類型命名的 內容介紹完了,希望本文對你有所幫助!推薦幾篇相關文章:
Cocoa 編碼指南 代碼命名基礎: http://mobile.51cto.com/iphone-274085.htm
Cocoa 編碼指南 為函數命名: http://www.ekrvqnd.cn/php/viewart.php?artID=274108
Cocoa 編碼指南 為方法命名: http://www.ekrvqnd.cn/php/viewart.php?artID=274104
Cocoa 編碼指南 為實例變量和數據類型命名:http://www.ekrvqnd.cn/php/viewart.php?artID=274094
Cocoa 編碼指南 框架開發者使用技巧和技術http://www.ekrvqnd.cn/php/viewart.php?artID=274094