天天看點

安卓開發規範

  • 摘要

    1. 前言

    2. AS規範

    3. 命名規範

    命名規範

  • 包名
  • 包名全部小寫,連續的單詞隻是簡單地連接配接起來,不使用下劃線。采用反域名命名規則,全部使用小寫字母。一級包名是頂級域名,通常為com, edu, gov, net, org等,二級包名為公司名,三級包名根據應用進行命名,四級包名為子產品名或層級名。

    com.xx.應用名稱縮寫.activity 使用者界面中所有的Activity類

    com.xx.應用名稱縮寫.fragment 界面中所有的Fragment類

    com.xx.應用名稱縮寫.base 基礎共享的類

    com.xx.應用名稱縮寫.adapter 頁面用到的Adapter類 (擴充卡的類)

    com.xx.應用名稱縮寫.view 自定義的View類

    com.xx.應用名稱縮寫.util 此包中包含:公共工具方法類(util子產品名)

    com.xx.應用名稱縮寫.bean 下面可分:vo、po、dto 此包中包含:JavaBean類

    com.xx.應用名稱縮寫.model 此包中包含:模型類

    com.xx.應用名稱縮寫.db 資料庫操作類

    com.xx.應用名稱縮寫.view (或者 com.xx.應用名稱縮寫.widget ) 自定義的View類等

    com.xx.應用名稱縮寫.service Service服務

    com.xx.應用名稱縮寫.receiver BroadcastReceiver服務

    com.xx.應用名稱縮寫.confing 所有的配置相關的類

  • 類名
  • 類名都以UpperCamelCase風格編寫。
  • 類名通常是名詞或名詞短語,接口名稱有時可能是形容詞或形容詞短語。現在還沒有特定的規則或行之有效的約定來命名注解類型。
  • 名詞,采用大駝峰命名法,盡量避免縮寫,除非該縮寫是衆所周知的,比如 HTML,URL,如果類名稱中包含單詞縮寫,則單詞縮寫的每個字母均應大寫。
描述 例如
Activity 類 Activity為字尾辨別 歡迎頁面類WelcomeActivity
Adapter類 Adapter 為字尾辨別 新聞詳情擴充卡 NewDetailAdapter
解析類 Parser為字尾辨別 首頁解析類HomePosterParser
工具方法類 Utils或Manager為字尾辨別(與系統或第三方的Utils區分)或功能+Utils 線程池管理類:ThreadPoolManager日志工具類:LogUtils(Logger也可)列印工具類:PrinterUtils
資料庫類 以DBHelper字尾辨別 新聞資料庫:NewDBHelper
Service類 以Service為字尾辨別 時間服務TimeServiceBroadcast
Receiver類 以Receiver為字尾辨別 推送接收JPushReceiver
ContentProvider 以Provider為字尾辨別
自定義的共享基礎類 以Base開頭 BaseActivity,BaseFragment

1.測試類的命名以它要測試的類的名稱開始,以Test結束。例如:HashTest

2.接口(interface):命名規則與類一樣采用大駝峰命名法,多以able或ible結尾,如interface Runnable

- 方法名

- 方法名都以lowerCamelCase風格編寫。

- 方法名通常是動詞或動詞短語。

方法 說明
initXX() 初始化相關方法,使用init為字首辨別,如初始化布局initView()
isXX() checkXX() 方法傳回值為boolean型的請使用is或check為字首辨別
getXX() 傳回某個值的方法,使用get為字首辨別
setXX() 設定某個屬性值
handleXX()/processXX() 對資料進行處理的方法
displayXX()/showXX() 彈出提示框和提示資訊,使用display/show為字首辨別
updateXX() 更新資料
saveXX() 儲存資料
resetXX() 重置資料
clearXX() 清除資料
removeXX() 移除資料或者視圖等,如removeView();
drawXXX() 繪制資料或效果相關的,使用draw字首辨別

- 常量名

- 常量名命名模式為CONSTANT_CASE,全部字母大寫,用下劃線分隔單詞。那,到底什麼算是一個常量?

- 每個常量都是一個靜态final字段,但不是所有靜态final字段都是常量。在決定一個字段是否是一個常量時,考慮它是否真的感覺像是一個常量。例如,如果任何一個該執行個體的觀測狀态是可變的,則它幾乎肯定不會是一個常量。隻是永遠不打算改變對象一般是不夠的,它要真的一直不變才能将它示為常量。

其他還有參數名、局部變量、全局變量也要以lowerCamelCase風格編寫!