基本原則
定義規範的目的是爲了使項目的文件、代碼有規律可循,使程序有良好的可讀性,從而方便項目的維護和擴展。
原則上只要把同一模塊的代碼文件聚到一起,把各個模塊區分開來即可,以下都是一些約定俗成的命名方式或者一些參考建議。
包的命名(全部小寫,由域名定義)
1,項目的基礎包名:
域名倒寫+項目名稱,
比如公司的域名爲gzpykj.com,廣宏養老項目名稱ghnhms
合起來是 com.gzpykj.ghnhms
2,基礎包下的包名:
按需求來確定,一般有:
base包,裏面是整個項目通用的類,比如基礎的activitiy,header
data包,裏面是和後臺數據或者本地數據對接的類
config包,裏面是一些app全局的配置信息類
utils包,裏面是一些工具類
module包,裏面包含項目的各個模塊,爲開發項目主要操作的包,如果模塊比較少的話也可以去掉直接在外面以模塊來新建包
3,模塊包的命名:
模塊包名按模塊名稱或名稱縮寫來命名,包名儘量不要超過6個字母,比如登陸註冊模塊可以命名爲login,工作單模塊可以命名爲work,各個模塊之間互不影響,如果模塊包下的類比較多,則還可以繼續分,比如按功能類型分類,act(activity),adp(adapter),view,fgm(fragment)
類的命名(英文命名,單詞首字母大寫)
1,普通類的命名
根據約定,Java類名通常以大寫字母開頭,如果類名稱由多個單詞組成,則每個單詞的首字母均應爲大寫例如TestPage;如果類名稱中包含單詞縮寫,則這個所寫詞的每個字母均應大寫,如:XMLExample,還有一點命名技巧就是由於類是設計用來 代表對象的,所以在命名類時應儘量選擇名詞。
例如: Graphics
2,模塊包下類的命名
類名儘量以模塊包名開頭,結尾最好是類的功能類型的簡寫,中間則是描述,
如在工作單模塊創建的包爲work,下面有列表頁、詳情頁、報工頁、評價頁,可以命名爲WorkListAct、WorkDetailAct、WorkSubmitAct、WorkEvaluateAct,這樣在代碼中打Work的時候,只提示工作單模塊下的類,方便查找
常用可以簡寫的類有
Activity----------Act
Adpater---------Adp
Fragment-------Fgm
方法的命名
採用小駝峯命名法 例如:onCreate(),initView();
下面是一些約定俗成的方法:
initXXX() 初始化相關方法,使用init爲前綴標識
isXXX() checkXXX() 方法返回值爲boolean型的請使用is或check爲前綴標識
getXXX() 返回某個值的方法,使用get爲前綴標識
processXXX() 對數據進行處理的方法,儘量使用process爲前綴標識
showXXX() 彈出提示框和提示信息,使用display爲前綴標識
saveXXX() 與保存數據相關的,使用sav爲e前綴標識
resetXXX() 對數據重組的,使用reset前綴標識
clearXXX()removeXXX() 清除數據相關的,使用clear或remove爲前綴標識
drawXXX() 繪製數據或效果相關的,使用draw前綴標識
字段的命名
1,整體採用類的前綴+名稱,小駝峯命名法
下面是一些約定俗成的前綴:
byte byte
Int int
string str
[] arr
List lst
StringBuffer sb
Map map
Object ob
2,View的字段命名:
① 與View的id名稱一樣,方便copy,註解時只要在上面加@ViewInject即可
如view的id是:
R.id.user_name, 那麼字段名稱就是user_name,
R.id.userName, 那麼字段名稱就是userName
② 和整體規則一樣, R.id.user_name爲tvUserName。
註釋
1,公共類的註釋
在公共類加上註釋可以快速地幫你瞭解其功能和作用,一般採用文檔註釋,
屬性自由定義,一般有下面3種屬性,可以編輯器裏設置生成快捷鍵
/**
* 創 建 人:
* 日 期:
* 描 述:
* ......
*/
2,方法的註釋
一般都是採用文檔註釋,
/**
* 功能描述:
* 參數:
* ......
*/
3,字段的註釋
靜態成員變量採用文檔註釋,
變量採用單行註釋。
資源文件的命名
1,Layout文件的命名
安卓下的layout只有一個文件夾,又不能在裏面新建文件夾進行分類,所以文件會比較多,請務必遵循基本原則;
以模塊包名爲前綴(如果是全局通用的view文件,以bs開頭),下劃線來區分,後面加控件類型的縮寫,再加功能描敘
比如main模塊下的資源文件
Activity的佈局文件, main_act_xxx
Activity的佈局的子佈局文件(include) main_item_xxx
Fragment的佈局文件 mian_fgn_xxx
Dialog的佈局文件 mian_dlg_xxx
View下的子佈局文件,比如:
ListView的項佈局文件 mian_lv_item_xxx
GridView的項佈局文件 mian_gv_item_xxx
2,樣式文件的命名
Style文件,style加控件類型
TextView樣式: style_tv
EditText樣式: style_ed
CheckBox樣式: style_cb
RadioButton樣式: style_rb
ProgressBar樣式: style_pg
...
Style裏面的名稱命名:
以控件類型爲前綴:tv_text, tv_title;
選擇器selector文件,sel加控件類型加名稱
sel_btn_xxx
sel_tv_xxx
sel_cb_xxx
....
資源名稱的命名
1,id命名
如果這個view需要填充數據,則命名跟服務器返回的字段一樣,這樣的話view就不需要在java那裏初始化而直接賦值(框架方法直接賦值)
如果不需要填充,控件縮寫加下劃線加描述
控件 縮寫
TextView tv
Button btn
ImageButton imgb
ImageView imgv
CheckBox cb
RadioButton rb
EditText ed
WebView wv
Spinner spn
ScollView sv
ListView lv
Gridview gv
LinearLayout ln
RelativeLayout rl