標籤:
一,關於空行
A:.h中的空行
1,檔案說明與標頭檔包涵(#import)之間空1行
2,標頭檔包涵(#import)之間,如果需要分類區別,各類別之間空1行
3,標頭檔包涵(#import)與@class之間空2行
4,@interface與@class之間空一行
5,標頭檔{}裡面,空1行開始聲明對象成員,如果需要分類區別,各類別之間空1行
6,{}外空1行,書寫屬性,如果需要分類區別,各類別之間空1行
7,空1行開始寫方法,如果需要分類區別,各類別之間空1行
8,方法完成後,空1行@end
9,如果需要聲明protocal,空2行接著寫。通常protocal寫在@end後面,但是聲明在@interface前面,也可以另寫一個檔案
B:.m中的空行
1,檔案說明與標頭檔包涵(#import)之間空1行
2,標頭檔包涵(#import)之間,如果需要分類區別,各類別之間空1行
3,@implementation和@synthesize之間空一行,@synthesize不要使用逗號(,)如果需要分類區別,各類別之間空1行
4,@synthesize與方法之間空2行
5,各方法之間空2行
C:方法裡面的空行
1,方法名後空1行開始寫
2,變數聲明後需要空1行,如果需要分類區別,各類別之間空1行
3,條件,迴圈,選擇語句,整個語句結束,需要空1行
4,各功能塊之間空1行
5,最後一個反括弧之前不空行
6,注釋與代碼之間不空行
7,#pragma mark與方法之間空1行
二,關於空格
1,.h中協議<>前面有1個空格
2,.h中成員聲明時,類型與變數之間有至少1各空格。星號(*)靠近變數,不靠近類型。(部分習慣,所有變數可以以*對齊,中間留空)
3,@property後有1各空格,()裡面,逗號後有1個空格,括弧外,先留1個空格,再聲明屬性
4,方法+,-後,與()之間有1個空格
5,傳回型別與*之間有1個空格,方法參數中傳回型別與*之間有1個空格
6,多參數的方法,每一個參數後面都有1個空格
三,關於布爾值
1,不要用if(obj==nil){},而用if(!obj){}
2,比較時把常量放前面可以避免錯誤
不要用if(aIntValue==255){},而用if(255==aIntValue){},避免漏掉一個“=”,而變成賦值
3,不要用if(aBool==YES){},直接用if(aBool){}或if(!!aBool){}
四,變數屬性名稱和其它
1,盡量在使用的時候才聲明變數,盡量少用全域變數
2,變數名不要只使用一個字母,盡量能表示變數的意思
3,@synthesize和@dynamic,應該放在類實現的最上面,每一個聲明都單獨一行
4,協議protocls需要加#pragam marks-來區分
5,釋放時應該[obj release],obj = nil; delegate也應該在dealloc裡面delegate = nil;
以上是我的一些總結其它參照:http://www.cimgf.com/zds-code-style-guide/ Google Objective-C Style Guide:http://wenku.baidu.com/view/a9b80ecdda38376baf1faedf.html最正宗的當屬apple官方的:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html
iPhone開發:Objective C 代碼規範-iOS總結版