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)的免費視頻講座,有興趣的同學可以前往觀看。

                                                             查看更多關(guān)于“iOS開發(fā)培訓”的相關(guān)資訊>>

the end

評論(0)