參考:
[1]蘋果官方
[2]三種編程命名規則(匈牙利法,小駝峰法,大駝峰法)
以下主要是針對Coding Guidelines for Cocoa 的個人讀書筆記,主要列舉個人容易違反的若干內容,詳細內容見參考一。
1.清晰性、一致性
1)蘋果一般採用小駝峰命名法,即第一個單詞首字母小寫,後面其他單字首大寫,例如:codeName。
2)命名應該簡潔清晰,不會產生歧義,並且不提倡採用縮寫,堅持用全拼。
3)命名應具有一致性,例如:多個類中具有相同功能的方法應該具有相同名稱,這樣讓人想到就能使用。
2.首碼
1)大家熟知NS、IB、AB等為蘋果自己的首碼,使用者開發時每個project應該具有一個唯一的首碼,這樣可以防止與蘋果系統庫及第三方發生命名衝突。objective-c中無命名空間概念,所有首碼更顯的尤為重要。
2)在具有外部連結性的名稱中使用首碼,比如類名、協議名、全域函數、常量、結構體等,不具有外部串連性的名稱可以不用首碼,比如方法名、類資料成員等(蘋果自己的除外)。
3)蘋果在它自己的類私人成員(包括私人資料成員和私人方法)加"_",這樣可以防止使用者在繼承系統類別時不小心覆蓋系統基類中的成員變數和成員方法。
4)類成員預設為@protected屬性,子類及類方法可以訪問。
3.協議(Protocol)命名
1)不與特定的類關聯,只是組合一組相關操作,協議名應與具體類無關。
2)與特定類關聯的一組操作集合的協議,協議名應與類名相同,例如:NSObject 協議。
4.標頭檔命名,一般與其中的類名相同,若包括若干相關函數及類型,則考慮用相關名稱。
5.類擴充命名
1)為已有架構中的某個類擴充 API:如果要在一個架構中聲明屬於另一個架構某個類的範疇類的方法,該標頭檔的命名形式為:原類名+“Additions”。如 Application Kit 中的 NSBundleAdditions.h
6. 委託方法
1)名稱以發送訊息的類名開始,省略首碼並小寫第一個字母,
2)第一個參數為發送訊息的對象,當只有一個參數時除外,例如:通知
- (void) windowDidChangeScreen:(NSNotification
*)notification;
3)通知委派物件即將發生或已經發生用will,did,是否可以執行用should
7.方法參數
1)不要用one ,two ..具名引數,
2)一般也不用and,and,因為在多個參數時使用多個and不好。
8. 位元遮罩常量可以使用不具名枚舉。如:
enum {
NSBorderlessWindowMask = 0,
NSTitledWindowMask = 1 << 0,
NSClosableWindowMask = 1 << 1,
NSMiniaturizableWindowMask = 1 << 2,
NSResizableWindowMask = 1 << 3
};