-
摘要
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風格編寫!