成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談Objective-C編碼規范

移動開發 iOS
本文主要介紹了Objective-C編碼規范,讓我們學習在編程過程中編碼規范的應用,本文又詳細的介紹,先來看本文內容。

淺談Objective-C編碼規范是本文要介紹的內容,主要講述了Objective-C編碼規范。編碼規范的合理性,相信編程人員都知道是最需要注意的一個內容,不多說,先來看詳細內容講解。

格式化代碼

指針“*”號的位置 ▪ 如:NSString *varName;

空格 VS tabs ▪ 只允許使用空格,將編輯器設置為1個TAB = 2個字符縮進

每行的長度

每行最多不得超過100個字符

以15寸Macbook Pro的大小,每行100個字符時能***化地同時容下編輯器和iPhone模擬器

Google的80字符的標準有點少,這導致過于頻繁的換行(Objectve-C的代碼一般都很長)

通過 “Xcode => Preferences => TextEditing => 勾選Show Page Guide / 輸入

100 => OK” 來設置提醒 ◦ 方法的聲明和定義

在 - OR + 和返回值之間留1個空格,方法名和***個參數間不留空格。如:

  1. - (void)doSomethingWithString:(NSString *)theString {  
  2. ...  

當參數過長時,每個參數占用一行,以冒號對齊。如:

  1. - (void)doSomethingWith:(GTMFoo *)theFoo  
  2. }  
  3. ...  
  4. rect:(NSRect)theRect interval:(float)theInterval { 

如果方法名比參數名短,每個參數占用一行,至少縮進4個字符,且為垂直對齊(而非使用冒號 對齊)。如:

  1. - (void)short:(GTMFoo *)theFoo  
  2. }  
  3. longKeyword:(NSRect)theRect  
  4. evenLongerKeyword:(float)theInterval { ... 

方法的調用 ▪ 調用方法沿用聲明方法的習慣。例外:如果給定源文件已經遵從某種習慣,繼續遵從那種習慣。 ▪ 所有參數應在同一行中,或者每個參數占用一行且使用冒號對齊。如:

  1. [myObject doFooWith:arg1 name:arg2 error:arg3]; 

  1. [myObject doFooWith:arg1 name:arg2  
  2. error:arg3]; 

和方法的聲明一樣,如果無法使用冒號對齊時,每個參數一行、縮進4個字符、垂直對其(而非 使用冒號對齊)。如:

  1. [myObj short:arg1  
  2. longKeyword:arg2  
  3. evenLongerKeyword:arg3]; 

 @public 和 @private ▪ @public 和 @private使用單獨一行,且縮進1個字符

Protocals類型標示符、代理名稱、尖括號間不留空格。該規則同樣適用于:類聲明、實例變量和方法聲明。如:

  1. @interface MyProtocoledClass : NSObject<NSWindowDelegate> { @private  
  2. id<MyFancyDelegate> _delegate;  
  3. } - (void)setDelegate:(id<MyFancyDelegate>)aDelegate; @end 

如果類聲明中包含多個protocal,每個protocal占用一行,縮進2個字符。如: @interface CustomViewController : ViewController<

  1. AbcDelegate,  
  2. DefDelegate >{  

命名 ◦ 類名

類名(及其category name 和 protocal name)的首字母大寫,寫使用首字母大寫的形式 分割單詞

在面向特定應用的代碼中,類名應盡量避免使用前綴,每個類都使用相同的前綴影響可讀性。

在面向多應用的代碼中,推薦使用前綴。如:GTMSendMessage ◦ Category Name

待完善 ◦ 方法名

方法名的首字母小寫,且使用首字母大寫的形式分割單詞。方法的參數使用相同的規則。 ▪ 方法名+參數應盡量讀起來像一句話(如:)。

在這里查看蘋果對方法命名的規范。 ▪ getter的方法名和變量名應相同。不允許使用“get”前綴。如:

  1. - (id) getDelegate; // 禁止  
  2. - (id)delegate; // 對頭  

本規則僅針對Objective-C代碼,C++代碼使用C++的習慣

變量名 ▪ 變量名應使用容易意會的應用全稱,且首字母小寫,且使用首字母大寫的形式分割單詞 ▪ 成員變量使用“_”作為前綴(如:“NSString *_varName;”。

雖然這與蘋果的標準(使用“_”作為后綴)相沖突,但基于以下原因,仍使用“_”作為前綴。 ▪ 使用“_”作為前綴,更容易在有代碼自動補全功能的IDE中區分“屬性

(self.userInfo)”和“成員變量(_userInfo)” ▪ 常量(#define, enums, const等)使用小寫“k”作為前綴,首字母大寫來分割單詞。如:

  1. kInvalidHandle 

注釋 ◦ 待完善

Cocoa 和 Objective-C特有的規則 ◦ 成員變量使用@private。如:

  1. @interface MyClass : NSObject { @private  
  2. id _myInstanceVariable;  
  3. } // public accessors, setter takes ownership - (id)myInstanceVariable; - (void)setMyInstanceVariable:(id)theVar; @end  
  4.  Indentify Designated Initializer ▪ 待完善  
  5.  Override Desingated Initializer 

小結:淺談Objective-C編碼規范的內容介紹完了,希望本文對你有所幫助。更多關于Objective-C的內容,請參考編輯推薦。

責任編輯:zhaolei 來源: 互聯網
相關推薦

2010-09-01 09:19:33

Objective-CiPhone開發iPhone

2011-08-02 13:16:36

Objective-C 語法 函數

2011-08-04 11:15:46

Objective-C 構造函數 構造方法

2011-08-03 16:55:05

Objective-C 代理

2011-08-03 15:51:48

Objective-C 協議 委托

2014-05-21 14:03:57

Objective-C代碼規范Code Style

2011-07-28 18:11:18

Objective-C Cocoa 編程

2011-08-10 18:07:29

Objective-C反射

2013-06-20 10:40:32

Objective-C實現截圖

2013-03-27 12:54:00

iOS開發Objective-C

2011-05-11 11:20:26

Objective-C

2011-05-11 15:58:34

Objective-C

2011-05-11 13:54:08

Objective-C

2011-05-11 15:45:50

內存管理Objective-C

2011-05-11 14:06:49

Objective-C

2011-08-04 14:58:37

Objective-C Cocoa NSString

2013-08-21 14:57:42

objective-c問題

2014-04-30 10:16:04

Objective-CiOS語法

2014-06-25 14:02:59

Objective-CKVO

2012-03-07 13:43:59

Objective-C
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩福利 | 欧美成人不卡 | 中文字幕一区二区三区在线视频 | 毛片视频观看 | 91久久伊人 | 午夜精品久久久久久久久久久久久 | 中文日韩在线视频 | 99久久久国产精品免费消防器 | 色男人天堂av | 久久成人精品视频 | 天天曰天天曰 | 黄色欧美大片 | 国产一区二区在线播放 | 91毛片在线看 | 色视频在线免费观看 | 日操夜操 | 久久国产一区二区 | 91福利影院 | 日本一区二区电影 | 99中文字幕 | 在线一级片 | 亚洲第1页 | 日韩在线欧美 | 一级二级三级在线观看 | 欧美一区二区三区在线观看视频 | 久久久女女女女999久久 | 夜夜骑av | 国产欧美久久一区二区三区 | 日韩视频 中文字幕 | 亚洲日本一区二区三区四区 | 欧美性网| 男女那个视频 | 亚洲欧美一区二区三区国产精品 | 黄色成人av | 中文字幕免费在线 | 全免费a级毛片免费看视频免费下 | 欧美一级免费看 | 免费一区 | 国产精品精品视频 | 91精品一区二区三区久久久久久 | 欧美福利视频一区 |