1. 程式人生 > >IOS編碼規範(命名規範)

IOS編碼規範(命名規範)

⼀一.命名規則
命名總則:
1.使⽤用駝峰法命名,命名清晰明瞭,要做到⾃自描述,不能省略,部分cocoa通 ⽤用縮略詞能夠縮寫。

  1. Objective – C不⽀支援名字名稱空間,所以某些命名要加項⺫⽬目字首區別。
    需要加字首的地⽅方: 全域性變數,類名,全域性函式,category(每個類別,函式都必須新增字首)
    3.全域性變數字首為g+項⺫⽬目字首
    4.常量以k開頭。
    變數命名:
    1.區域性變數命名
    a.做到⾃自描述,指標變數的星號指⽰示符應該緊靠變數。 良好的風格:
    UIButton *settingsButton;
    不良的風格:
    UIButton *setBtn; b.儘量的使用屬性而非例項變數
    良好的風格:
    @interface someObject : NSObject @property(nonatomic, retain)NSString 不良的風格:
    @interface someObject : NSObject{ NSString *name;
    *name;
    c.對於foundation原始資料型別例如NSString, NSArray, NSNumber BOOL 等等,變數的命名不需要表明其型別。
    良好的風格:
    NSString *accountName; NSMutableArray *mailBoxes; BOOL isNeedLogin; 不良的風格:
    NSString *accountNameStr; NSMutableArray *mailBoxAry;
    如果變數不是以上常用的型別,則變數的命名就應該反映出自身的型別, 但有時僅需要某些類的一個例項的情況下,那麼只需要基於類名進行命 名。
    例如:
    UIImage *perviewPanImage;
    NSProgressIndicator *uploadIndicator;

NSFontManager *fontManager; 多數情況下集合型別,如果為NSArray 或者 NSSet型別的變數需要使用 單詞複數形式(不需要加型別),反之需要制定其型別。
良好的風格:
NSIndexSet *selectedMailBoxesIndexSet;
NSDictionary *messageDictionary;
區域性變數不應該包含下劃線。
訊息名稱命名格式:
[Name of associated class] + [Did | Will] + [UniquePartOfName] + Notification
良好⻛風格:
NSApplicationDidBecomeActiveNotification
NSWindowDidMiniaturizeNotification
NSTextViewDidChangeSelectionNotification
NSColorPanelColorDidChangeNotification

2.列舉命名(必須遵循)
使⽤用NS_ENUM⽅方式進⾏行列舉,命名⽅方式為列舉型別+列舉含義。 例如:
typedef NS_ENUM(NSInteger, UIViewAnimationCurve) {
UIViewAnimationCurveEaseInOut, UIViewAnimationCurveEaseIn, UIViewAnimationCurveEaseOut, UIViewAnimationCurveLinear
};
3.協議與代理(必須遵循)
協議和代理必須獨⽴立⼀一個頭⽂檔案。
協議分類使⽤用:
a.如果⽤用於實現代理,命名規則為 (類名 + delegate) b.如果⽤用於功能擴充套件,命名規則為 (類名 + 功能說明) c.如果⽤用於抽象接⼜⼝口,命名規則為 (類名 + 功能說明 + interface) ⼀一個類如果要實現多個協議的時候,每個協議名拆到單獨的⾏行。 協議內函式宣告必須指定限定符