iOS代碼規范

jopen 10年前發布 | 47K 次閱讀 IOS iOS開發 移動開發

命名規范

類命名

l   首字母大寫,之后每個單詞首字母都大寫

l   使用能夠反映類功能的名詞短語

l   文件和類同名

l   舉例:BaseClient、ImageStore

特殊類命名

l   如果是視圖控制器的子類應添加后綴“ViewController”或者“Controller”

l   如果是視圖的子類應添加后綴“View”

l   如果是按鈕的子類應添加后綴“Button”

……

l   舉例:SettingsViewController、NavigationView

分類(類別)命名

l   與類命名相同,此外需添加要擴展的類名和“+”

l   舉例:NSString+URLEncoding

協議(委托)命名

l   與類命名相同,此外需添加“Delegate”后綴

l   舉例:ReplyViewDelegate

方法命名

l   首字母小寫,之后每個單詞首字母都大寫

l   方法名使用動詞短語

l   舉例:- (void)setPostValue:(int)value

方法參數命名

l   首字母小寫,之后每個單詞首字母都大寫

l   具有足夠的說明性

l   不需要添加類型前綴

l   舉例:- (void)sendUserInfo:(NSDictionary *)userInfo

變量命名

l   首字母小寫,之后每個單詞首字母都大寫

l   具有足夠的說明性

l   成員變量不需要添加“_m”前綴

l   成員變量添加“_”前綴

常量

l   常量(預定義,局部常量等)使用小寫k開頭的駝峰法

l   舉例:kInvalidHandle , kWritePerm

l   枚舉類型命名首字母大寫,之后每個單詞首字母都大寫,最后加“s

l   枚舉變量使用枚舉類型去掉“s”作為前綴,每個單詞首字母大寫,中間不允許加下劃線

l   舉例:

typedef enum UIControlEvents{

UIControlEventTouchDown,

UIControlEventTouchUpInside

}UIControlEvents;

圖片命名

l   使用英文,首字母大寫,之后每個單詞首字母都大寫

l   添加模塊名作為前綴,避免沖突

l   圖片應該與類文件一樣,按模塊分組放置

分組命名

l   使用英文,首字母大寫,之后每個單詞首字母都大寫

l   每個分組使用模塊的名字

l   使用的開源庫統一放在“Library”分組下

l   使用的公共組件統一放在“Common”分組下

l   視圖控制器及AppDelegate統一放在“Controllers”分組下

書寫規范

注釋

l   文件都包含文件頭,要說明文件名、作者、創建時間、變更記錄

l   多人協作完成項目時,public接口的每個方法都應該添加關于函數,參數,返回值以及副作用的注釋

l   if語句的判斷條件復雜時,需要用注釋說明判斷內容

l   接口類(繼承于BaseClient)的頭文件每個方法前都應該注明方法的作用

方法

l   留一個空格在-或+和返回類型之間,但參數列表里的參數之間不要留間隔,每個冒號之前都必須有對該參數的說明詞,如:

p - (void)doSomethingWithString:(NSString *)string number:(int)num

l   如果參數過多,推薦每個參數各占一行。使用多行的情況下,在參數前加冒號用于對齊,如:

p  -(void)doSomethingWith:(GTMFoo *)theFoo

                                          rect:(NSRect)theRect

                             interval:(float)theInterval

其他規范

l   操作符前后都要加空格

l   避免相同的代碼段在多個地方出現

l   語句嵌套層次不得超過3層

l   每個實現文件建議在500行以內,不能超過1000,超過之后應考慮通過抽象類對代碼進行重構

l   及時刪除或注釋掉無用的代碼

l   UITableViewCell里面的network client都要委托出來

l   點擊按鈕之后需要切換按鈕圖片,當這兩張圖片沒有關聯時(例如一張圖片相比另一張圖片有選中效果),不應該設置為UIControlSelected

l   控件布局使用相對坐標

l   確定不使用的代碼應該刪除

來自:http://blog.csdn.net/zhaoxy_thu/article/details/9090963

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!