標籤:ide 簡潔 資料 嵌套 web 線程池 mysqli 名稱 pool
Android-Code-Style1.約定
| 控制項 |
縮寫首碼 |
| TextView/EditText |
text |
| Button/RadioButton/ImageButton |
btn |
| RelativeLayout/LinearLayout/FrameLayout |
layout |
| ListView |
listView |
| WebView |
webView |
| CheckBox |
checkBox |
| ProgressBar |
progressBar |
| seekBar |
seekBar |
| 其他控制項 |
控制項名首字母縮寫作為首碼 |
| 布局類型 |
布局首碼 |
| Activity |
activity_ |
| Fragment |
fragment_ |
| Include |
include_ |
| Dialog |
dialog_ |
| PopupWindow |
popup_ |
| Menu |
menu_ |
| Adapter |
layout_item_ |
2.3. 資源檔命名
規則: 使用 首碼_用途 命名,單詞全部小寫,單詞間以 底線 分割。
| 首碼 |
說明 |
| bg_xxx |
各類背景圖片 |
| btn_xxx |
這種按鈕沒有其他狀態 |
| ic_xxxx |
表徵圖,一般用於單個表徵圖 |
| bg_描述_狀態1[_狀態2] |
用於控制項上的不同狀態 |
| btn_描述_狀態1[_狀態2] |
用於按鈕上的不同狀態 |
| chx_描述_狀態1[_狀態2] |
選擇框,一般有2態和4態 |
| 必須攜帶第三方資源首碼 |
|
| umeng_socialize_style.xml |
|
| pull_refresh_attrs.xml |
|
2.4. 類和介面命名
規則: 使用駝峰規則,首字母必須大寫,使用名詞或名詞片語。要求簡單易懂,富於描述,不允許出現無意義或錯誤單詞。
| 類 |
描述 |
例如 |
| Application類 |
Application為尾碼標識 |
XXXApplication |
| Activity類 |
Activity為尾碼標識 |
閃屏頁面類SplashActivity |
| 解析類 |
Handler為尾碼標識 |
|
| 公用方法類 |
Utils或Manager為尾碼標識 |
| 線程池管理類 |
ThreadPoolManager |
| 日誌工具類 |
LogUtils |
| 資料庫類 |
以DBHelper尾碼標識 |
MySQLiteDBHelper |
| Service類 |
以Service為尾碼標識 |
播放服務:PlayService |
| BroadcastReceiver類 |
以Broadcast為尾碼標識 |
時間通知:TimeBroadcast |
| ContentProvider類 |
以Provider為尾碼標識 |
單詞內容提供者DictProvider |
| 直接寫的共用基礎類 |
以Base為首碼 |
BaseActivity,BaseFragment |
2.5. 方法的命名
規則: 使用駝峰規則,首字母必須小寫,使用動詞。要求簡單易懂,富於描述,不允許出現無意義或錯誤單詞。
| 方法 |
說明 |
| initXX() |
初始化相關方法,使用init為首碼標識,如初始化布局initView() |
| httpXX() |
http業務要求方法,以http為首碼標識 |
| getXX() |
返回某個值的方法,使用get為首碼標識 |
| saveXX() |
與儲存資料相關的,使用save為首碼標識 |
| deleteXX() |
刪除操作 |
| resetXX() |
對資料重組的,使用reset首碼標識 |
| clearXX() |
清除資料相關的 |
| isXX() |
方法傳回值為boolean型的請使用is或check為首碼標識 |
| processXX() |
對資料進行處理的方法,盡量使用process為首碼標識 |
| displayXX() |
彈出提示框和提示資訊,使用display為首碼標識 |
| drawXXX() |
繪製資料或效果相關的,使用draw首碼標識 |
2.6. 變數命名
規則: 使用駝峰規則,首字母必須小寫,使用名詞或名詞片語。要求簡單易懂,富於描述,不允許出現無意義或錯誤單詞。
- 成員變數命名,自訂變數前添加m首碼,布局控制項變數不用添加m首碼
常量命名,全部大寫,單詞間用底線隔開
3. 其他規範
- Activity繼承BaseFragmentActivity或SwipeBackActivity,可以使用ButterKnife註解代替findViewById
- 方法
- 拆分臃腫方法,每個方法只作一件事
- 做同一個邏輯的方法,盡量靠近放到一塊,方便查看
- 不要使用 try catch 處理商務邏輯
- 使用JSON工具類,不要手動解析和拼裝資料
- 減少條件嵌套,不要超過3層
- if判斷使用“衛語句”,減少層級
if(obj != null) { doSomething(); }
修改為:
if(obj == null) { return; } doSomething();
- if語句必須用{}包括起來,即便是只有一句
- 代碼中不要出現數字,特別是一些標識不同類型的數字。
- 所有意義數字全部抽取到Constant公用類中,避免散布在各位類中。
- 空行:空行將邏輯相關程式碼片段隔開,簡潔清楚,提高可讀性
- 成員變數之間,根據業務形成分組加空行
- 方法之間加空行
- 記錄想法,記錄功能點,開發過程中可以利用TODO記錄一下臨時想法或為了不打擾思路留下待完善的說明
- 刪除無用TODO,開發工具自動產生的TODO,或則已經完善的TODO,一定要刪除。
安卓的編碼規範