安卓的編碼規範

Android-Code-Style

1.約定

  • Activity.onCreate(),Fragment.onActivityCreated(),緊跟成員變量後,方法內部保持簡單,儘可能只調用initXXX()方法,如:initData(),initView()
  • 調用方法保持「臨近原則」,被調用的方法,放在調用方法下方
  • 單個方法體不要過長
  • 代碼任何地方不要拼錯單詞
  • 統一調整IDE的Tab縮進爲4個空格android

    2.命名

    2.1. 佈局文件中的id命名

    規則:使用駝峯命名,前綴+邏輯名稱,類變量名和佈局文件id名稱保持一致,不須要下劃線分割web

控件 縮寫前綴
TextView/EditText text
Button/RadioButton/ImageButton btn
RelativeLayout/LinearLayout/FrameLayout layout
ListView listView
WebView webView
CheckBox checkBox
ProgressBar progressBar
seekBar seekBar
其餘控件 控件名首字母縮寫做爲前綴
  • 如:TextView @+id/textTitle
  • 如:EditView @+id/textName
  • 如:Button @+id/btnSearch數據庫

    2.2. 佈局文件命名

    規則: 使用前綴_邏輯名稱命名,單詞所有小寫,單詞間以 下劃線 分割。ide

佈局類型 佈局前綴
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態
  • 第三方資源文件,無論在value、drawable
必須攜帶第三方資源前綴  
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. 變量命名

規則: 使用駝峯規則,首字母必須小寫,使用名詞或名詞詞組。要求簡單易懂,富於描述,不容許出現無心義或錯誤單詞。spa

  • 成員變量命名,自定義變量前添加m前綴,佈局控件變量不用添加m前綴
  • 常量命名,所有大寫,單詞間用下劃線隔開線程

    3. 其餘規範

  • Activity繼承BaseFragmentActivity或SwipeBackActivity,可使用ButterKnife註解代替findViewById
  • 方法
  1. 拆分臃腫方法,每一個方法只做一件事
  2. 作同一個邏輯的方法,儘可能靠近放到一塊,方便查看
  3. 不要使用 try catch 處理業務邏輯
  4. 使用JSON工具類,不要手動解析和拼裝數據
  • 控制語句
  1. 減小條件嵌套,不要超過3層
  2. if判斷使用「衛語句」,減小層級
    if(obj != null) { doSomething(); }
    修改成:
    if(obj == null) { return; } doSomething();
  3. if語句必須用{}包括起來,即使是隻有一句
  • 處理「魔數」等看不懂的神祕數字
  1. 代碼中不要出現數字,特別是一些標識不一樣類型的數字。
  2. 全部意義數字所有抽取到Constant公共類中,避免散佈在各位類中。
  • 空行:空行將邏輯相關代碼段隔開,簡潔清楚,提升可讀性
  1. 成員變量之間,根據業務造成分組加空行
  2. 方法之間加空行
  • 用好TODO標記
    1. 記錄想法,記錄功能點,開發過程當中能夠利用TODO記錄一下臨時想法或爲了避免打擾思路留下待完善的說明
    2. 刪除無用TODO,開發工具自動生成的TODO,或則已經完善的TODO,必定要刪除。                                                                                                                                                                                                                                                                                                        此篇博客非原創
相關文章
相關標籤/搜索