一:命名規(guī)范
- 接口名稱,參數(shù)命名清晰規(guī)范,參數(shù)盡可能少,所有傳入?yún)?shù)要做好校驗(yàn)梧税,禁止使用拼音和中文
- 類名前綴和包命名縮寫要一致
- 函數(shù)命名遵循共性,不要出現(xiàn)歧義或者違背大家的共識
- 所有資源命名前綴 比如 yyy_xx_sdk 其他命名 yyy_xx
- 項(xiàng)目命名:myyXxxSDK,包名:cn.myy.sdk.xxx
二:注釋規(guī)范
- 代碼注釋規(guī)范清楚
- 接口注釋要完善
- 注釋形式統(tǒng)一
- 注釋內(nèi)容準(zhǔn)確簡潔
三:日志設(shè)計(jì)
- 可控制打印log級別
- 核心處理log日志可以配置
- 主流程第队,異常日志存儲(chǔ)方便定位問題
四:第三方庫依賴處理原則
- 優(yōu)先使用系統(tǒng)Api,減少三方庫依賴
- 如果確實(shí)因?yàn)轫?xiàng)目需要哮塞,要引入一些開源庫,可以通過源碼集成的形式引入凳谦,再更改一下包名(類名)忆畅,避免集成沖突。
五:版本管理規(guī)范
- 使用三位版本號尸执,每位版本號最高三位數(shù)字如1.0.121
- 第三位:bug修復(fù)家凯,極小的變更
- 第二位:一般的功能迭代
- 第一位:項(xiàng)目重構(gòu),功能變更較大如失,需團(tuán)隊(duì)共同確定
六:開放規(guī)范
- API功能單一绊诲,減少類似enum的入?yún)⒃O(shè)計(jì),最好單一性原則
- 線程處理, 如非必要不要使用應(yīng)用主線程褪贵,不能長時(shí)間占用驯镊,SDK內(nèi)應(yīng)有一個(gè)專門線程處理SDK 相關(guān)操作
- 盡量減少全局回調(diào)
- 提供異常情況回調(diào)和輸出方便接入放定位,錯(cuò)誤回調(diào)采用code+msg組合
- 能不用單例的就盡量少的使用
- 對iOS 來說能不用xib 就不用竭鞍,能不用通知就不用通知
- 多考慮第三方帶來的影響板惑,比如鍵盤處理
七:通用規(guī)范 (注意事項(xiàng))
- 接口隔離 (小而 精簡)
- 接口易用性 (對外接口易用,易懂)
- 向后兼容 (升級SDK兼容)接口廢棄@deprecated
- 配套有完整且詳細(xì)的使用說明文檔和版本更新說明
- AppId 和 AppKey的分配偎快,用于區(qū)分集成sdk的是哪一個(gè)公司冯乘,做好權(quán)限控制
- SDK的 sdkVersion要盡量小,最好不要超過使用SDK的項(xiàng)目的Version(支持的系統(tǒng))
- 盡量不要引用第三方庫晒夹,要盡量使用系統(tǒng)自帶的功能裆馒,然后在其基礎(chǔ)上進(jìn)行封裝。
- SDK需要有較強(qiáng)的容錯(cuò)性丐怯,增減穩(wěn)定喷好,增大力度對于SDK內(nèi)部異常進(jìn)行捕獲。
- SDK內(nèi)部對于關(guān)鍵路徑要有詳細(xì)的Log記錄读跷,便于后期排查問題梗搅。
- 各個(gè)庫之間要做到高內(nèi)聚,低耦合
- 核心代碼的安全性