Objective-C編程規範
格式化
縮進
行縮進使用4個空格,不要使用Tab字符。
在定義變量、變量賦值等一些操作時,如果同時操作的數據較多時,建議採用Tab鍵排版,使寫出來的代碼更整潔
方法聲明和定義
留一個空格在 – 或 + 和返回類型之間,但參數列表裏的參數之間不要留間隔。
如果參數過多,推薦每個參數各佔一行。使用多行的情況下,以參數前的冒號用於對齊。當第一個關鍵字比其他的短時,後續行至少縮進四個空格。這樣你可以讓後續的關鍵字垂直對齊,而不是用冒號對齊。
方法調用
方法調用的格式和方法聲明時的格式一致,一個方法調用完之後在連續調用,需要添加空格。
代碼段
操作符和 = 號兩邊要添加空格。
在id和協議的名字之間不能添加空格。
每個段的開括號({ )寫在統一行,標籤和開括號間隔一個空格。
排版
頭文件裏的變量應該按照功能的分類放在一起,不同分類用空行隔開。方法內部,相關聯的部分不用或少用空行,不相關聯的部分,以一個空行分開。
方法(函數)與方法之間留一空行
實現文件裏的方法應該先寫在模板自動生成的代碼之後,具體來說自己定義的方法應該寫在dealloc之後,先寫Action方法,再寫delegate方法。其他方法方法寫在最後面。然後用#pragma mark – Buttons action區分開。
deallco中保持和聲明的順序一致,並使用release釋放。
命名規範
所有類,類別, 方法,以及變量如包括縮寫,則縮寫部分使用全大寫的縮寫(Initialisms )形式。
文件命名
儘量讓文件名和類名相同並反映了它所包含的實現類的名字,如SettingsViewController(繼承自UIViewController),DetailsView(繼承自UIView)。
類別的文件名應該包含擴展類的名字,比如NSString+Utils.h。
類名
同文件名保持一致,類名應該用大寫開頭的駝峯命名法。
在應用級別的代碼裏,儘量不要使用帶前綴的類名。每個類都有相同的前綴不能提高可讀性。不過如果是編寫多個應用間的共享代碼,推薦使用前綴。
變量名
變量名使用小寫開頭的駝峯法,類成員變量名開頭加一個下劃線。
常量(預定義,枚舉,局部常量等)使用小寫k開頭的駝峯法。
方法名
儘量讓方法名讀起來像一句話
方法使用小寫開頭的駝峯法命名,每個參數都應該小寫開頭。
Objective-C特性
特性
使用 property來管理內存,對NSString 的屬性,一定要用copy,對delegate一定要用assign。類內部應調用屬性方法,用.操作符。
初始化
不需要在初始化的時候設置一個對象爲0 或者設置爲nil ,對象初始化的時候會自動設置爲nil。
子類化如要重寫初始化,應重寫所有的初始化函數。
成員變量應該定義爲@private
使用框架根
如要使用UIView,應該導入UIKit.h
注釋
儘量使用//而不要使用/* */
寫公用接口時必需在頭文件按標準格式寫註釋,註釋規範再行商定
修改代碼
更改別人代碼時,應該儘量用註釋,而不是直接刪除,同時寫上自己的名字,時間,大概做了怎樣的修改示例
邏輯
BOOL值的判斷用if (boolValue) ,不要用if (boolValue == YES)
== 運算符應把常量寫左邊,變量寫右邊。
Float類型不要直接與0比較。
其他原則
應該減少模塊之間的關聯,不要包含多餘的頭文件
m文件中import,頭文件用@class
頭文件要儘可能簡潔。
#import 和 #include先系統的,再第三方庫,再自己的文件
函數最好不要超過100行代碼。
Group保持一致
第三方庫放入Supports文件夾
Xib文件和類文件放一起。
戴維營教育榮譽出品!