ios代碼規范

命名規范

小駝峰命名法(CamelCase):第一個單詞小寫字母開頭,其他單詞首字母大寫;

大駝峰命名法(PascalCase): ? 所有首字母大寫。

統一要求:含義清楚,盡量做到不需要看注釋也能了解其作用,使用全稱,不使用縮寫。

1、類的命名

* 大駝峰式命名:每個單詞的首字母都采用大寫字母, ? 例子:MFHomePageViewController

* 后綴要求

? ? ? ? ? ? ViewController: 使用ViewController做后綴

? ? ? ? ? ? 例子: HXHomeViewController

? ? ? ? ? ? View: 使用View做后綴

? ? ? ? ? ? 例子:HXAlertView

? ? ? ? ? ? UITableViewCell:使用Cell做后綴

? ? ? ? ? ?例子: HXNewsTableViewCell

? ? ? ? ? ?Protocol: 使用Delegate作為后綴

? ? ? ? ? ?例子: UITableViewDelegate

? ? ? ? ? ?UI控件依次類推

2、宏命名

* 全部大寫,單詞間用 _ 分隔。[不帶參數]

? ? ? ? ? 例子: #define THIS_IS_AN_MACRO @"THIS_IS_AN_MACRO"

* 以字母 k 開頭,后面遵循大駝峰命名。[不帶參數]

? ? ? ? ? 例子:#define kWidth self.frame.size.width

* 小駝峰命名。[帶參數]

? ? ? ? ? #define getImageUrl(url) [NSURL URLWithString:[NSString stringWithFormat:@"%@%@",kBaseUrl,url]]

3、Enum

* Enum類型的命名與類的命名規則一致

* Enum中枚舉內容的命名需要以該Enum類型名稱開頭

例子:

typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {

AFNetworkReachabilityStatusUnknown = -1,

AFNetworkReachabilityStatusNotReachable = 0,

AFNetworkReachabilityStatusReachableViaWWAN = 1,

AFNetworkReachabilityStatusReachableViaWiFi = 2

};

4、類的成員變量

* 小駝峰式命名:第一個單詞以小寫字母開始,后面的單詞的首字母全部大寫

* 以 _ 開頭,第一個單詞首字母小寫

? ? ? ? ? 例子:NSString * _somePrivateVariable

* 私有變量放在 .m 文件中聲明

5、屬性

* 小駝峰式命名

例子:@property (nonatomic, copy) NSString *userName;

UILabel? *userNameLabel;

UIButton *userNameButton;

UIImageView *userNameImageView

UIView *userNameView;

6、方法

* 方法名和方法參數遵循相同的規則,使用小寫開頭的小駝峰法;

* 方法名和參數盡量讀起來像是一句話;

* 方法名不允許使用“get“前綴;

* -或+與返回類型間留一個空格,但參數列表之間不要留間隔;

* 如果參數過多,推薦每個參數各占一行;

例如:- (void)doSomethingWithString:(NSString *)theString (NSInteger *)theInteger { ? ... ? } ?;

書寫規范:

1.方法大括號和其他大括號(if/else/switch/while 等.)總是在同一行語句打開但在新行中關閉。

2. 在m文件中對當前類屬性進行引用的時候,使用self.property的方式,用以區分局部變量;對屬性進行賦值的時候使用“點”賦值,即A.property = value;

3. 使用import引用頭文件的工作全部放到 .m 文件中進行,.h文件用到的類型盡量用@class聲明,然后在.m里import;

4. 如果m文件中有較多的method,使用 #pragma mark 標記對方法進行分組,便于查看;

在函數分組和protocol/delegate實現中使用#pragma mark -來分類方法,要遵循以下一般結構:

#pragma mark - Lifecycle

- (instancetype)init {}

- (void)dealloc {}

- (void)viewDidLoad {}

- (void)viewWillAppear:(BOOL)animated {}

- (void)didReceiveMemoryWarning {}

#pragma mark - Custom Accessors

- (void)setCustomProperty:(id)value {}

- (id)customProperty {}

#pragma mark - IBActions

- (IBAction)submitData:(id)sender {}

#pragma mark - Public

- (void)publicMethod {}

#pragma mark - Private

- (void)privateMethod {}

#pragma mark - Protocol conformance

#pragma mark - UITextFieldDelegate

#pragma mark - UITableViewDataSource

#pragma mark - UITableViewDelegate

#pragma mark - NSCopying

- (id)copyWithZone:(NSZone *)zone {}

#pragma mark - NSObject

- (NSString *)description {}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,983評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,772評論 3 422
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,947評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,201評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,960評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,350評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,406評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,549評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,104評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,914評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,089評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,647評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,340評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,753評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,007評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,834評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,106評論 2 375

推薦閱讀更多精彩內容

  • 一、命名規范 1、統一要求含義清楚,盡量做到不需要注釋也能了解其作用,若做不到,就加注釋,使用全稱,不使用縮寫。 ...
    Untils閱讀 573評論 0 0
  • iOS編程規范0規范 0.1前言 為??高產品代碼質量,指導廣大軟件開發人員編寫出簡潔、可維護、可靠、可 測試、高效...
    iOS行者閱讀 4,474評論 21 35
  • 1. 關于命名 1>要求含義清楚,盡量做到不需要注釋也能了解其作用,若做不到,就加注釋 2>類的命名 1.大駝峰式...
    herui201211閱讀 174評論 0 0
  • 昨天去爺爺那裡吃了團圓飯,下午又去媽媽那裡坐了坐,晚上回到家,公公婆婆燒好了年夜飯等著我們。因為平日裡晚上就吃得很...
    如心1976閱讀 186評論 0 0
  • Linux中大部分時間都是在處理文本內容,而為了更加快速和自動化的處理文本,我們就需要正則表達式。正則表達式提供了...
    shenzhenboy閱讀 749評論 1 1