iOS開發(fā)培訓教程 iOS代碼命名規(guī)范
當下ios程序員是很多年輕人趨之若鶩的熱門職業(yè),高端的環(huán)境和高薪的報酬是最關(guān)鍵的兩大要素,沒有系統(tǒng)參與過ios培訓教育的同學很可能在日后因為沒有一個好的代碼規(guī)范而影響自身的工作效率,本文主要講述一些ios開發(fā)代碼中命名的規(guī)范。
iOS開發(fā)培訓教程 iOS代碼命名規(guī)范:
總的來說, iOS命名兩大原則是:可讀性高和防止命名沖突(通過加前綴來保證). Objective-C 的命名通常都比較長, 名稱遵循駝峰式命名法. 一個好的命名標準很簡單, 就是做到在開發(fā)者一看到名字時, 就能夠懂得它的含義和使用方法. 另外, 每個模塊都要加上自己的前綴, 前綴在編程接口中非常重要, 可以區(qū)分軟件的功能范疇并防止不同文件或者類之間命名發(fā)生沖突, 比如相冊模塊(PhotoGallery)的代碼都以PG作為前綴: PGAlbumViewController, PGDataManager.
1). 常量的命名
對于常量的命名最好在前面加上字母k作為標記. 如:
static const NSTimeInterval kAnimationDuration = 0.3;
定義作為NSDictionary或者Notification等的Key值字符串時加上const關(guān)鍵字, 以防止被修改. 如:
NSString *const UIApplicationDidEnterBackgroundNotification
Tips:
I. 若常量作用域超出編譯單元(實現(xiàn)文件), 需要在類外可見時, 使用extern關(guān)鍵字, 并加上該類名作為前綴. 如 extern NSString *const PGThumbnailSize
II.全局常量(通知或者關(guān)鍵字等)盡量用const來定義. 因為如果使用宏定義, 一來宏可能被重定義. 二來引用不同的文件可能會導致宏的不同. P.S. 對于#define也添加一下前綴k(強迫癥, 哈哈...)
2). 枚舉的命名
對于枚舉類型, 經(jīng)常會看到之前的C的定義方式:
typedef enum : {
CameraModeFront,
CameraModeLeft,
CameraModeRight,
} CameraMode;
不知道是腫么了, 每次看到這種定義方式總是感覺怪怪的, 作為一個正宗的iOS開發(fā)者當然要以Objective-C的方式來定義啦, 哈哈... 那Objective-C是怎么定義的呢? 很簡單, 到SDK里面看看Apple是怎么做滴:
typedef NS_ENUM(NSInteger, UIViewAnimationTransition) {
UIViewAnimationTransitionNone,
UIViewAnimationTransitionFlipFromLeft,
UIViewAnimationTransitionFlipFromRight,
UIViewAnimationTransitionCurlUp,
UIViewAnimationTransitionCurlDown,
};
這邊需要注意的是: 枚舉類型命名要加相關(guān)類名前綴并且枚舉值命名要加枚舉類型前綴.
3). 變量和對象的命名
給一個對象命名時建議采用修飾+類型的方式. 如果只用修飾命名會引起歧義, 比如title (這個到底是個NSString還是UILabel?). 同樣的, 如果只用類型來命名則會缺失作用信息, 比如label (好吧, 我知道你是個UILabel, 但是我不知道它是用來做什么的呀?). So, 正確的命名方式為:
titleLabel //表示標題的label, 是UILabel類型
confirmButton //表示確認的button, 是UIButton類型
對于BOOL類型, 應加上is前綴, 比如- (BOOL)isEqualToString:(NSString *)aString這樣會更加清晰. 如果某方法返回非屬性的 BOOL 值, 那么應根據(jù)其功能, 選用 has 或 is 當前綴, 如- (BOOL)hasPrefix:(NSString *)aString
Tip: 如果某個命名已經(jīng)很明確了, 為了簡潔可以省去類型名. 比如scores, 很明顯是個array了, 就不必命名成scoreArray。
創(chuàng)客學院iOS培訓講師溫馨提示:創(chuàng)客學院ios在線課程聘請具有多年從業(yè)經(jīng)驗的頂級講師,可以更好的由淺入深學習和了解ios代碼規(guī)范,在網(wǎng)站內(nèi)部有相關(guān)的免費視頻講座,有興趣的同學可以前往觀看。
- 贊