變量命名
- 包名全部小寫:
如:com.example.project.activity
- 類名和接口名采用大駝峰命名
如:SignInActivity
- 常量,字母全大寫,使用_分割單詞:
如:ERROR_CODE
- 變量遵從語言規(guī)范,避免縮寫,變量名要突顯其意義:
變量和方法采用小駝峰命名,如:userInfo
- 關(guān)于前綴:
單例變量:單詞加上前綴s,如:加sInstance
私有全局變量:單詞加上前綴m,如:加mContext
方法組織
- 方法的命名,不要詞不達(dá)意
- 如果找不到合適的名字對該方法命名,說明該方法體內(nèi)容過于復(fù)雜
- 注意方法的拆分,各行其職,遵循單一職責(zé)
- 上層API注意穩(wěn)定性,下層API注意性能
代碼注釋
- 只在關(guān)鍵的地方加注釋
- 合理的命名以期望達(dá)到讀代碼像在讀注釋一樣
異步處理
- 添加邏輯判斷,盡量避免出現(xiàn)異常
- 實(shí)在處理不了才使用try-catch,并打印錯(cuò)誤日志
鎖和同步
- 代碼要注意線程同步
- 避免死鎖
設(shè)計(jì)模式
- 單一職責(zé)
- 開閉原則(對擴(kuò)展開放,對修改關(guān)閉)
- 里氏替換原則(參數(shù)傳遞應(yīng)使用基類)
- 依賴反轉(zhuǎn)(依賴抽象,不要依賴具體)
- 最小接口原則
- 迪米特法則(高內(nèi)聚,低耦合)