命名規範
包命名規範
采用反域名命名規則,包名全部小寫,連續的單詞隻是簡單地連接配接起來,不使用下劃線,一級包名為com,二級包名為xxx(可以是公司域名或者個人命名),三級包名根據應用進行命名,四級包名為子產品名或層級名。如:
com.isa.crm.activity
|
com.isa.crm.adapter
JAVA類命名規範
采用大駝峰式命名法,盡量避免縮寫,除非該縮寫是衆所周知的,比如HTML,URL,如果類名稱包含單詞縮寫,則單詞縮寫的每個字母均應大寫。如:
Product
|
ProductManager
|
ProductListActivity
|
ProductListAdapter
|
JsonHTTPSRequest
接口命名規範
命名規則與類一樣采用大駝峰命名法,多以
able
或
ible
結尾。例如:
interface Runable
|
interface Accessible
成員變量命名規範
采用小駝峰命名法。
臨時變量命名
使用标準的Java命名方法,不推薦使用Google的m命名法。例如:
private String userName;
而不推薦使用
private String mUserName;
常量命名
常量使用全大寫字母加下劃線的方式命名。例如:
public static final String TAG = "tag";
控件執行個體命名
{module_name}
)。例如:
android:id="@+id/btn_pay"
private Button btn_pay;
方法命名規範
動詞或動名詞,采用小駝峰命名法。例如:
run();
|
onCreate();
|
syncProducts();
Layout)命名規範
{module_name}
為業務子產品或是功能子產品等子產品化的名稱或簡稱。 activity layout:
{module_name}_activity_{名稱}
crm_activity_main.xml
|
crm_activity_shopping.xml
fragment layout:
{module_name}_fragment_{名稱}
crm_fragment_main.xml
|
crm_fragment_shopping.xml
Dialog layout:
{module_name}_dialog_{名稱}
crm_dialog_loading.xml
清單項布局命名:
{module_name}_list_item_{名稱}
crm_listitem_customer.xml
包含項布局命名:
include_{名稱}
include_head.xml
adapter的子布局:
{module_name}_item_{名稱}
qz_item_order.xml
widget layout:
{module_name}_widget_{名稱}
crm_widget_shopping_detail.xml
資源id命名規範
{view縮寫}_{module_name}_{view的邏輯名稱}
,如:
LinearLayout
的布局id –>
ll_crm_content
ImageView
的布局id –>
iv_qz_photo
常見控件View與其縮寫對照參考表如下:
圖檔資源檔案命名規範
圖示命名:
{module_name}_ic_{名稱}
crm_ic_app.png
背景圖檔命名:
{module_name}_bg_{名稱}
crm_bg_navbar_highlight_normal.9.png
按鈕Button命名:
{module_name}_btn_{名稱}
crm_btn_login_normal.9.png
按鈕checkbox圖檔命名:
{module_name}_checkbox_{名稱}
crm_checkbox_cart_true.png
其他圖檔命名:
{module_name}_icon_{名稱}
qz_icon_blue_circle.png
代碼風格
大括号問題
風格一
if (hasMoney())
{
}
else
{
}
風格二
if (hasMoney()) {
} else {
}
空格問題
if else
|
while
|
運算符兩端
規範的編寫方式:
if (hasMoney()) {
} else {
}
for (int i = 0; i < 10; i++) {
}
不規範的編寫方式:
if(hasMoney()){
}else{
}
for(int i=0; i<10;i++){
}
方法參數
當方法參數數量過多時,需進行換行處理.
注釋
必須要對所有執行個體變量、類常量進行注釋說明 例如:
// 使用者姓名
private
String userName
必須對所有的類、接口進行注釋說明 例如:
/**
* Activity基類
*
*/
public class BaseActivity extends Activity
{
}
必須對所有的方法進行注釋說明 例如:
/**
* 請求
*
* @param path 路徑
* @param generalParams 基本參數
* @param businessParams 業務參數
* @return 請求結果
* @throws ApiException 請求錯誤則傳回該異常
*/
public Map<String, Object> request (String path,
Map<String, Object> generalParams,
Map<String, Object> businessParams) throws ApiException {
return null;
}
更多詳細也可以參考:
[Google Java程式設計風格指南](http://hawstein.com/posts/google-java-style.html)
駝峰式命名法(CamelCase)
- 大駝峰式命名法(
UpperCamelCase
-
):
每個單詞的第一個字母都大寫 如:
XmlHttpRequest
- 小駝峰式命名法(
-
):
除了第一個單詞,每個單詞的第一個字母都大寫 如: