目錄
項(xiàng)目結(jié)構(gòu)
代碼結(jié)構(gòu)
命名規(guī)范
● 方法
● 變量
● 類
● 文件
● 常量
注釋
項(xiàng)目結(jié)構(gòu)
由于公司有兩個(gè)應(yīng)用產(chǎn)品,然后分了一個(gè)lib存放兩產(chǎn)品公共東西.

Common:存放兩產(chǎn)品公共類和方法.
Manager:公共服務(wù)類,廣播類. 服務(wù)類:TestService,廣播類:TestReceiver.
Net:存放兩產(chǎn)品網(wǎng)絡(luò)請求,json解析.
Utils:存放兩產(chǎn)品工具類和工具管理類,命名以Utils或Manager為后綴標(biāo)識,線程池管理類:ThreadPoolManager,日志工具類:LogUtils.
Widget:公共自定義控件和組件,命名以View為后綴標(biāo)識,例如:TestView. 如果有組件在 widget下創(chuàng)建組件名組件類,例如:級聯(lián)組件 創(chuàng)建 wheel存放文件.
BaseApplication:公共Application基類.

Bean :存放實(shí)體類,返回?cái)?shù)據(jù)實(shí)體,命名以Entity為后綴標(biāo)識,例如:TestEntity。
Common:存放公共類,config類命名為AppConfig,常量類命名為Constants.
db:存放數(shù)據(jù)操作類,簡單數(shù)據(jù)存儲類.
Manager:公共服務(wù)類,廣播類. 服務(wù)類:TestService,廣播類:TestReceiver.
Net:存放網(wǎng)絡(luò)請求,json解析.
Ui:
? ?Activity:存放Activity ,命名以Activity為后綴標(biāo)識,例如:TestActivity.
? ?Adapter:存放適配器類,命名以apt為后綴標(biāo)識,例如:TestApt
? ?Fragment:存放適配器fragment類,命名以fragment為后綴標(biāo)識,例如:TestFragment.
? ?Widget:自定義控件和組件,命名以View為后綴標(biāo)識,例如:TestView. 如果有組件在 widget下創(chuàng)建組件名組件類,例如:級聯(lián)組件 創(chuàng)建 wheel存放文件.
Utils:存放工具類,命名以Utils或Manager為后綴標(biāo)識,線程池管理類:ThreadPoolManager,日志工具類:LogUtils.
代碼結(jié)構(gòu)
@Bind(R.id.ivAddIoc)
ImageView ivAddIoc;
@Bind(R.id.tvAddAddress)
TextView tvAddAddress;
@Override
protected void onCreate(Bundle savedInstanceState) {
//TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.act_address_shangchao);
ButterKnife.bind(this);
initView();
}
/*
* 初始化View
*/
public void initView() {
}
/*
* 加載數(shù)據(jù)
*/
public void loadData() {
}
/*
* 更新View
*/
private Handler mHandler=new Handler() {
? ?public void handleMessage(Message msg) {
? ?}
};
@Override
protected void onStart() {
//TODO Auto-generated method stub
super.onStart();
loadData();
}
@Override
protected void onResume() {
//TODO Auto-generated method stub
super.onResume();
}
@Override
protected void onRestart() {
//TODO Auto-generated method stub
super.onRestart();
}
@Override
protected void onPause() {
//TODO Auto-generated method stub
super.onPause();
}
@Override
protected void onStop() {
//TODO Auto-generated method stub
super.onStop();
}
@Override
protected void onDestroy() {
//TODO Auto-generated method stub
super.onDestroy();
}
@OnClick({R.id.ivAddIoc,R.id.tvAddAddress})
public void onClick(View view) {
? ? ?switch(view.getId()) {
? ? ? ? ? caseR.id.ivAddIoc:
? ? ? ? ? break;
? ? ? ? ? caseR.id.tvAddAddress:
? ? ? ? ? break;
? ? ?}
}
命名規(guī)范
● 方法
動(dòng)詞或動(dòng)名詞,采用小駝峰命名法例如:onCreate(),run()
如:
initXX() 初始化相關(guān)方法,使用init為前綴標(biāo)識,如初始化布局initView()
isXX() checkXX()方法返回值為boolean型和檢查方法的請使用is或check為前綴標(biāo)識
getXX() 返回某個(gè)值的方法,使用get為前綴標(biāo)識
processXX() 對數(shù)據(jù)進(jìn)行處理的方法,盡量使用process為前綴標(biāo)識
displayXX() 彈出提示框和提示信息,使用display為前綴標(biāo)識
saveXX() 與保存數(shù)據(jù)相關(guān)的,使用save為前綴標(biāo)識
resetXX() 對數(shù)據(jù)重組的,使用reset前綴標(biāo)識
clearXX() 清除數(shù)據(jù)相關(guān)的
removeXXX() 移除數(shù)據(jù)相關(guān)的
drawXXX() 繪制數(shù)據(jù)或效果相關(guān)的,使用draw前綴標(biāo)識
● 變量
Camel 標(biāo)記法:首字母是小寫的,接下來的單詞都以大寫字母開頭
布局文件控件命名使用Android Studio JakeWharton 的butterknife幫我們的生成控件命名點(diǎn)擊這里查看butterknife工具操作
● 類
類名通常以大寫字母開頭,如果類名稱由多個(gè)單詞組成,則每個(gè)單詞的首字母均應(yīng)為大 寫例如TestPage;如果類名稱中包含單詞縮寫,則這個(gè)所寫詞的每個(gè)字母均應(yīng)大寫.
如:XMLExample,還有一點(diǎn)命名技巧就是由于類是設(shè)計(jì)用來 代表對象的,所以在命名類時(shí)應(yīng)盡量選擇名詞。
● 文件
資源布局文件(XML文件(layout布局文件)):
全部小寫,采用下劃線命名法
1). Activity默認(rèn)布局,以去掉后綴的Activity類進(jìn)行命名:
act_功能模塊.xml
例如:act_main.xml、act_more.xml
2).Dialog命名:dialog_描述.xml
例如:dlg_hint.xml
2).PopupWindow命名:ppw_描述.xml
例如:ppw _info.xml
3).包含項(xiàng):include_模塊.xml
例如:include_head.xml、include_bottom.xml
4).a(chǎn)dapter的子布局:adp_功能模塊_item.xml
例如:adp _main_item.xml
● 常量
常量的名字應(yīng)該都使用大寫字母,并且指出該常量完整含義。如果一個(gè)常量名稱由多個(gè)單詞組成,則應(yīng)該用下劃線來分割這些單詞
如:MAX_VALUE
注釋
1.文件頭注釋
每一個(gè)文件的文件頭都必須做文件頭注釋。文件頭注釋范例如下:
/**文件名:LoginActivity
*描? ? 述:對用戶
*作? ? 者:
*時(shí)? ? 間:
*版? ? 權(quán):*/
2.方法頭注釋
每一個(gè)成員方法頭都必須做方法頭注釋。
自定義成員方法注釋范例如下:
/**
*方法描述
*@param strName 參數(shù)
*@return 方法數(shù)據(jù)返回
*/
3.塊注釋
在實(shí)現(xiàn)一段階段性功能的代碼前做塊注釋。塊注釋的注釋范例如下:

4.變量注釋
所有的成員變量和大多數(shù)局部變量在聲明時(shí)都需要為其做功能注釋。
成員變量注釋的注釋范例如下:

局部變量注釋的注釋范例如下:

5.語句注釋
在關(guān)鍵語句的右側(cè)要做單條語句注釋。
語句注釋的注釋范例如下:
