1、文檔結構管理緩存
1.創建Library文件夾,全部第三方庫放入其中。網絡
2.創建Tool文件夾,自已封裝的工具類放入其中。工具
3.創建Constant.h頭文件,常量定義於其中。Constant.h文件放入Tool文件組裏面。編碼
4.創建Model、View、Controller三個文件夾,每一個文件夾裏按功能模塊分組(例如tabbar裏5個模塊)code
5.創建Image文件夾。圖片放入其中。對象
6.創建Network文件夾。網絡請求類放入其中。圖片
7.創建DataBase文件夾。數據緩存類放入其中。rem
2、編碼規範文檔
說明:爲了避免影響閱讀,一個類的代碼行數儘可能不要超過500行;一個方法儘可能不要超過30行。有超過的在重構的時候想辦法分解(不要刻意重構)。get
2.引入其它類時,若要做爲實例變量的在.h中引入。不然在.m中引入。
3.聲明實例變量一概以屬性聲明。
4.類中每一個功能模塊以 #pragma mark - 分隔,上空兩行,下空一行。
5.程序中變量、方法命名儘可能能以字面意思表示功能,對於須要用註釋來解釋的部分代碼,註釋以以下格式表述:
/**
* 方法或變量說明
* @param 參數1說明(針對方法)
* @param 參數2說明(針對方法)
* @return 若方法有返回值則對返回值做說明
*/
或者
//簡短的描述語句 (在方法前或者變量後)
6.類名首字母大寫,方法首字母小寫,方法中的參數首字母小寫,同時儘可能讓方法的命名讀起來像一句話,可以傳達出方法的意思,同時取值方法前不要加前
綴「get」 變量名小寫字母開頭,常量以小寫字母k開頭,後續首字母大寫
7.寫delegate的時候類型應該爲weak弱引用,以免循環引用
8.實例變量聲明時變量名前面加下劃線「_」,局部變量不用加。
9.註冊通知須要在dealloc中對應remove掉對象。
10.移動端遇到一個常識問題 c = a/b; 沒有作任何判斷這家出現這樣的語句,若是b萬一爲0呢?是吧因此必須if(b){c= a/b}。
11.通常判斷BOOL的時候 例如:BOOL A = [object action];不要直接if(A == YES)這樣判斷 直接if(A)
3、Xcode配置
1.所有統一用ARC。
2.用Cornerstone或者Git管理代碼。
3.在項目.pch文件加入一段去除release的NSLog代碼:
#ifndef __OPTIMIZE__
#define NSLog(...) NSLog(__VA_ARGS__)
#else
#define NSLog(...) {}
#endif