一、代碼規(guī)范
1. 命名規(guī)則
? ? 1)類名首字母大寫,方法首字母小寫衷掷,方法中的參數首字母小寫懦胞,同時盡量讓方法的命名讀起來像一句話教藻,能夠傳達出方法的意思。?
? ? 2)常量和變量命名小寫字母開頭,采用“駝峰命名法”,并且要做到見名知其意。
? ? 3)宏命名大寫。
? ? 4)代理名稱:類名+Delegate ? ? ? ? ? ? ? ? ? ?代理方發(fā)名稱: ?類名+方法實際意義
2. 注釋
? ? ? 注釋很重要,但除了開頭的版權聲明,盡可能把代碼寫的如同文檔一樣蜀备,讓別人直接看代碼就知道意思关摇。(iOS端項目注釋規(guī)范附統(tǒng)一代碼塊)
注釋分幾類:
1)屬性注釋
屬性注釋 使用 /** 注釋*/ 的文檔注釋格式。 這種注釋相較于// 注釋的優(yōu)點是此屬性可以在后面的引用時碾阁,在智能提示的下方顯示中文注釋输虱。
2)方法集注釋
每個代理的方法可以歸結為一個整體的方法集脂凶,在方法集中實現(xiàn)協(xié)議的所有代理方法宪睹。命名規(guī)范:#pragma mark - 方法集名稱,上空兩行蚕钦,下空一行亭病。
補充說明:系統(tǒng)自帶方法集注釋為#pragma mark ,平時自己使用時盡量在后面加上-嘶居,即#pragma? mark -罪帖,這樣注釋的方法集會有一條分割線,方便查找代碼時分隔開不同的方法集。使用方式見下圖
3)普通注釋
在項目中的某個地方的邏輯可能比較復雜或者是核心思想的代碼整袁,這種地方應加上一些注釋作為標注菠齿,也利于自己維護代碼,利于之后別人接手代碼坐昙。
3. 盡可能保證 .h文件的簡潔性绳匀,可以不公開的API就不要公開了,寫在實現(xiàn)文件中即可炸客。
4. 實例變量聲明時變量名前面加下劃線“_”襟士,局部變量不用加。
5. 寫delegate的時候類型應該為weak弱引用嚷量,以避免循環(huán)引用陋桂,當delegate對象不存在后,我們寫的delegate也就沒有存在意義了自然是需要銷毀的蝶溶。
6. 使用Block時嗜历,內容四個空格縮進,“^”后帶有參數時抖所,參數與“{”之間有一個空格縮進
補充說明:若要調整整個.m的代碼規(guī)范梨州,也可以全選,然后 ?“control+i” ?快捷鍵縮進空格田轧。
7.編碼排版格式
8. 對于系統(tǒng)的常用類作實例變量聲明時加入后綴:
二暴匠、類代碼組織原則
一個原則:析構函數- (void)dealloc最好放到類最上面,第一眼就可以看到這個方法傻粘,可以方便看到是否remove了一些操作每窖,對內存的合理釋放等,controller弦悉,view的生命周期函數放到最上面窒典,自己實現(xiàn)的方法在下面,相同/相近功能的方法采用#pragma mark -來標記稽莉,以便查看瀑志。
示例:
三、補充說明
1. 刪除多余的空行
* 所有方法與方法之間空1行
* 所有代碼塊之間空1行
2. 刪除多余的注釋
* 刪除注釋掉的代碼
* 刪除沒有意義的注釋
3. 刪除多余的方法
* 如果方法沒有使用到污秆,請刪除它
* 如果方法沒有執(zhí)行任何業(yè)務邏輯劈猪,請刪除它或者給出一定注釋
4. 刪除未被使用的資源文件
5. 添加必要的注釋
* 所有 .h 文件中的property 需要給出注釋
* 所有自定義的方法需要給出注釋
* 比較大的代碼塊需要給出注釋
* 所有代碼中出現(xiàn)的阿拉伯數字需要給出注釋
* 程序中出現(xiàn)加密/解密 邏輯的操作地方,需要給出注釋說明過程(無論是系統(tǒng)還是自定義)
6. 整體代碼風格需要統(tǒng)一
* 代碼后面的”{“ 不需要單獨占用一行
* 邏輯運算符 與 代碼之前空一格
* “#pragma mark -” 與下面的代碼之前不要空行
* 遵循一般性的代碼規(guī)范