標籤:
一、文檔結構管理
1.建立Libraries檔案夾,所有第三方庫放入其中。
2.建立Utilities檔案夾,自已封裝的類放入其中。
3.建立Constants.h標頭檔,所有的常量定義於其中。Constants.h檔案放入Utilities檔案組裡面。
4.每個功能塊放入一個Group,在目錄裡建立實際檔案夾管理。
5.程式資源檔放入Supporting Files檔案夾中。如.plist、資料庫資料等。
6.在Supporting Files檔案夾下建立Image、Music和Video等相關檔案夾。圖片、音頻、視頻等資源分別放入其中。
二、編碼規範
說明:為了不影響閱讀,一個類的程式碼數盡量不要超過300行;一個方法盡量不要超過30行。有超過的在重構的時候想辦法分解。
1.每個.h檔案最開始處用簡短文字說明一下該類的功能邏輯。
2.引入其它類時,若要作為執行個體變數的在.h中引入。否則在.m中引入。
[email protected]與@implementation與#import 之間空一行。@synthesize緊接著@implementation寫。
4.a:聲明執行個體變數一律以屬性聲明。
b:其它類要訪問的執行個體變數和方法在.h檔案中聲明,否則聲明於.m檔案中。
c:執行個體變數及方法以功能塊放在一起,實現一個功能的連續著放在一起,另一個功能的空一行開始聲明。
d:執行個體變數緊接@interface後開始,方法在執行個體變數後空一行開始。
e:每個功能塊可作簡單說明,單個執行個體變數方法可不作說明,關鍵的或特殊的變數或方法單獨作說明。注釋放於變數聲明上一行。
5.類中第個功能模組以 #pragma mark - 分隔,上空兩行,下空一行。
6.NSLog在測試完成後一律刪除。
7.程式中變數、方法命名盡量能以字面意思表示功能,對於需要用注釋來解釋的部分代碼,注釋以如下格式表述:
/**
* 方法或變數說明
* @param 參數1說明(針對方法)
* @param 參數2說明(針對方法)
* @return 若方法有傳回值則對傳回值作說明
*/
或者
//簡短的描述語句 (在方法前或者變數後)
8.類名首字母大寫,方法首字母小寫,方法中的參數首字母小寫,同時盡量讓方法的命名讀起來像一句話,能夠傳達出方法的意思,同時取值方法前不要加前
綴“get” 變數名小寫字母開頭 常量以小寫字母k開頭,後續首字母大寫
9.寫delegate的時候類型應該為weak弱引用,以避免循環參考
10.執行個體變數聲明時變數名前面加底線“_”,局部變數不用加。
11.通知中樞註冊需要在dealloc中對應remove掉對象,一個對象的delegate對象要在dealloc中及時賦nil。
12.移動端遇到一個常識問題 c = a/b; 沒有做任何判斷這家出現這樣的語句,如果b萬一為0呢?是吧所以必須if(b){c= a/b}。
13.一般判斷BOOL的時候 例如:BOOL A = [object action];不要直接if(A == YES)這樣判斷 直接if(A)
三、Xcode配置
1.全部統一用ARC。
2.用Cornerstone管理代碼。
3.在項目.pch檔案加入一段去除release的NSLog代碼:
#ifndef __OPTIMIZE__
#define NSLog(...) NSLog(__VA_ARGS__)
#else
#define NSLog(...) {}
#endif
iOS代碼規範