iOS代碼規範文檔,ios代碼規範

來源:互聯網
上載者:User

iOS代碼規範文檔,ios代碼規範

檔案命名規範:

  1. 項目統一使用類首碼ZY。

  2. 分類命名+後面統一使用ZYExtension,例:NSDictionary+ZYExtension.h,常用分類定義在內部並寫好文檔注釋。如果功能性分類內部方法較多可以考慮按功能命名。

  3. model檔案可按伺服器介面名或欄位名命名,view、viewModel和controller檔案可按功能命名。

  4. 切圖命名:home_menu_chat,->模組_功能_具體名字,切圖命名很重要,這點可與美術溝通,讓他們直接命名好再給我們,可以大大提高開發效率,但千萬不要使用中文。

代碼規範:

  1. 分類方法以zy_開頭,可與系統或者第三方架構方法區分。

  2. 全域用到的字串或者基礎資料型別 (Elementary Data Type)盡量定義成常量而不是用宏。並且只在某一檔案內部用到可用static修飾,並且不要暴露在.h檔案。

  3. 宏定義以ZY_開頭,並且統一大寫,以_為分隔標識。

  4. 類內部方法按功能劃分,統一使用#pragma mark <#xxxx#>劃分。

  5. 方法參數較多時,盡量換行讓其參數對齊,提高可讀性。 

  6. 方法屬性注釋盡量使用文檔注釋,可下載一個外掛程式VVDocument.

  7. 定義成員變數必須遵循apple規範添加底線。

  8. 控制項和屬性儘可能使用懶載入建立,這樣就可以保證用到時再建立。注意使用了懶載入建立的就不要直接用底線成員變數名訪問了,應該用get方法訪問。

  9. 方法回調儘可能使用block回調,可提高代碼彙總度,但是要注意循環參考問題,建議block內部都使用weak引用。

  10. 聲明字串屬性必須使用copy,代理使用weak,不過儘可能少用代理吧,用block回調更方便。

  11. 注意方法和屬性、成員變數的駝峰標識命名。

  12. 解構函式- (void)dealloc最好放到類最上面,第一眼就可以看到這個方法,可以方便看到是否清空資源。

  13. 單個方法代碼盡量不要超過100行,單個檔案代碼不要超過800行,如超過了可以考慮進行重構最佳化。   

  14. 相同邏輯方法,或者多處用到的方法可以優先考慮抽成分類,其次考慮抽到一個工具方法類。

  15. 定義控制項或者控制器必須在後面加上控制項名稱,例如一個imageView->UIImageView *iconView,不要直接用UIImageView *icon。  

  16. 判斷YES/NO/nil 採用這種寫法

  17. 載入圖片建議自訂UIImage一個分類方法,例:[UIImage zy_imageNamed:@””]。能在改方法攔截,換膚可能會用到。

  18. 所有網路請求以request開頭。例: 返回結果用block並對應一個data模型,和error.當error有值時為請求錯誤。 建議使用的第三方架構: YYModel -> 字典轉模型架構,效能目前與主流的架構相比效能較好,而且使用方便。 YYCategories -> 提供一些常用的分類方法,可以大大加快開發效率。 YYWebImage -> 載入網狀圖片架構,可以帶有動畫效果,比SDWebImage好用。 MJRefresh -> 下拉重新整理控制項 AFNetworking -> 網路請求 Pop -> facebook動畫架構 SVProgressHUD -> HUD提示,一個單例類,全域共用,無需反覆建立消耗效能 Masonry -> 自動布局架構 Realm -> 最近比較火的資料庫架構,據說效能秒殺coreData和sqlite,且學習成本很低。 ReactiveCocoa -> 函數響應式編程架構。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.