安卓的編碼規範

來源:互聯網
上載者:User

標籤:ide   簡潔   資料   嵌套   web   線程池   mysqli   名稱   pool   

Android-Code-Style1.約定
  • Activity.onCreate(),Fragment.onActivityCreated(),緊跟成員變數後,方法內部保持簡單,盡量只調用initXXX()方法,如:initData(),initView()
  • 調用方法保持“臨近原則”,被調用的方法,放在調用方法下方
  • 單個方法體不要過長
  • 代碼任何地方不要拼錯單詞
  • 統一調整IDE的Tab縮排為4個空格

    2.命名2.1. 布局檔案中的id命名

    規則:使用駝峰命名,首碼+邏輯名稱,類變數名和布局檔案id名稱保持一致,不需要底線分割

控制項 縮寫首碼
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. 布局檔案命名

    規則: 使用首碼_邏輯名稱命名,單詞全部小寫,單詞間以 底線 分割。

布局類型 布局首碼
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. 變數命名

規則: 使用駝峰規則,首字母必須小寫,使用名詞或名詞片語。要求簡單易懂,富於描述,不允許出現無意義或錯誤單詞。

  • 成員變數命名,自訂變數前添加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,一定要刪除。    

安卓的編碼規範

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.