0.命名法
- 駝峰式命名法(CamelCase)分大駝峰式命名法(UpperCamelCase)和小駝峰式命名法(lowerCamelCase)肤视。
//大駝峰 所有單詞首字母大寫
MainActivity
//小駝峰 第一個單詞首字母小寫攘已,其他單詞首字母大寫
onCreate
- 下劃線命名法
//用下劃線分隔
android:id="@+id/txt_header_title"
1.項目名稱
- 使用英文的項目名稱
2.包名
- 包名全部小寫,連續(xù)的單詞只是簡單地連接起來,不使用下劃線难咕。
3.類名
類名=功能+類型后綴
類名都以大駝峰(UpperCamelCase)風(fēng)格編寫。
類名通常是名詞或名詞短語,接口名稱有時可能是形容詞或形容詞短語铅歼。
- activity類,命名以Activity為后綴换可,如:LoginActivity
- fragment類椎椰,命名以Fragment為后綴,如:ShareDialogFragment
- service類沾鳄,命名以Service為后綴慨飘,如:DownloadService
- adapter類,命名以Adapter為后綴译荞,如:CouponListAdapter
- 工具類瓤的,命名以Util為后綴,如:EncryptUtil
- 模型類磁椒,命名以BO為后綴堤瘤,如:CouponBO
- 接口實現(xiàn)類,命名以Impl為后綴浆熔,如:ApiImpl
- 測試類,命名以它要測試的類的名稱開始本辐,以Test結(jié)束桥帆。例如,HashTest或HashIntegrationTest慎皱。
4.import
- import不要使用通配符老虫。
如:
import java.test.*
- import語句可分為以下幾組,按照這個順序茫多,每組由一個空行分隔:
- 所有的靜態(tài)導(dǎo)入獨立成組
- 第三方的包祈匙。每個頂級包為一組,字典序天揖。例如:android, com, junit, org
- java imports
- javax imports
import static java.lang.System.out;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.example.luffy.myapplication.TestActivity;
import java.math.BigInteger;
import javax.sql.RowSet;
5.常量和變量
- 常量
常量=形容詞(名詞)+_+名詞
常量名命名模式為CONSTANT_CASE夺欲,全部字母大寫,用下劃線分隔單詞今膊。
- 變量
變量={范圍描述+}意義描述+類型描述
小駝峰(lowerCamelCase)風(fēng)格編寫,這些名字通常是名詞或名詞短語些阅。
private TextView headerTitleTxt;
6.方法名
方法名=動詞+意義
方法名都以小駝峰(lowerCamelCase)風(fēng)格編寫。
方法名通常是動詞或動詞短語斑唬。
- 初始化方法市埋,命名以init開頭,例:initView
- 按鈕點擊方法恕刘,命名以to開頭缤谎,例:toLogin
- 設(shè)置方法,命名以set開頭褐着,例:setData
- 具有返回值的獲取方法坷澡,命名以get開頭,例:getData
- 布爾型的判斷方法献起,命名以is或has洋访,或具有邏輯意義的單詞如equals镣陕,例:isEmpty
7.XML文件命名
控件縮寫如下:
控件 | 縮寫 |
---|---|
TextView | txt |
EditText | edt |
Button | btn |
ImageButton | ibtn |
ImageView | img |
ListView | list |
RadioGroup | group |
RadioButton | rbtn |
ProgressBar | progress |
SeekBar | seek |
CheckBox | chk |
Spinner | spinner |
TableLayout | table |
TableRow | row |
LinearLayout | llayout |
RelativeLayout | rlayout |
ScrollView | scroll |
SearchView | search |
TabHost | host |
TabWidget | widget |
7.1 控件id命名
id=控件縮寫_{范圍_}意義
android:id="@+id/txt_header_title"
android:id="@+id/btn_login"
7.2 layout.xml命名
layout.xml=組件類型_{范圍_}功能
范圍可選谴餐,只在有明確定義的范圍內(nèi)才需要加上。以下為幾種常用的組件類型命名:
- activity_{范圍_}功能呆抑,為Activity的命名格式
- fragment_{范圍_}功能岂嗓,為Fragment的命名格式
- dialog_{范圍_}功能,為Dialog的命名格式
- item_list_{范圍_}功能鹊碍,為ListView的item命名格式
- item_grid_{范圍_}功能厌殉,為GridView的item命名格式
- header_list_{范圍_}功能,為ListView的HeaderView命名格式
- footer_list_{范圍_}功能侈咕,為ListView的FooterView命名格式
7.3 strings的命名
strings=類型_{范圍_}功能
以下為幾種常用的命名:
- 頁面標(biāo)題公罕,命名格式為:title_頁面
- 按鈕文字,命名格式為:btn_按鈕事件
- 標(biāo)簽文字耀销,命名格式為:label_標(biāo)簽文字
- 選項卡文字楼眷,命名格式為:tab_選項卡文字
- 消息框文字,命名格式為:toast_消息
- 編輯框的提示文字,命名格式為:hint_提示信息
- 圖片的描述文字罐柳,命名格式為:desc_圖片文字
- 對話框的文字掌腰,命名格式為:dialog_文字
- menu的item文字,命名格式為:action_文字
7.4 colors的命名
colors=前綴{_控件}{_范圍}{_后綴}
控件张吉、范圍齿梁、后綴可選,但控件和范圍至少要有一個肮蛹。
- 背景顏色勺择,添加bg前綴
- 文本顏色,添加text前綴
- 分割線顏色伦忠,添加div前綴
- 區(qū)分狀態(tài)時酵幕,默認(rèn)狀態(tài)的顏色,添加normal后綴
- 區(qū)分狀態(tài)時缓苛,按下時的顏色芳撒,添加pressed后綴
- 區(qū)分狀態(tài)時,選中時的顏色未桥,添加selected后綴
- 區(qū)分狀態(tài)時笔刹,不可用時的顏色,添加disable后綴
7.5 drawable的命名
drawable=前綴{_控件}{_范圍}{_后綴}
控件冬耿、范圍舌菜、后綴可選,但控件和范圍至少要有一個亦镶。
- 圖標(biāo)類日月,添加ic前綴
- 背景類,添加bg前綴
- 分隔類缤骨,添加div前綴
- 默認(rèn)類爱咬,添加def前綴
- 區(qū)分狀態(tài)時,默認(rèn)狀態(tài)绊起,添加normal后綴
- 區(qū)分狀態(tài)時精拟,按下時的狀態(tài),添加pressed后綴
- 區(qū)分狀態(tài)時虱歪,選中時的狀態(tài)蜂绎,添加selected后綴
- 區(qū)分狀態(tài)時,不可用時的狀態(tài)笋鄙,添加disable后綴
- 多種狀態(tài)的师枣,添加selector后綴(一般為ListView的selector或按鈕的selector)
8.注釋
8.1 文件頭注釋
文件頂部統(tǒng)一添加版權(quán)聲明,聲明的格式如下:
/**
* @FileName:${file_name}(文件名)
* @Copyright: ${name}, All rights reserved(版權(quán))
* @Description:${todo}(用一句話描述該文件做什么)
* @author: ${author} (作者)
* @data: ${date} ${time}(時間)
* @version: ${version}(版本)
*/
8.2 方法注釋
添加注釋萧落,說明該方法的用途和參數(shù)說明践美,以及返回值的說明劳殖。
/**
* 登錄
* @param numberFirst 第一個數(shù)
* @param numberSecond 第二個數(shù)
* @param result 兩個和的結(jié)果
*/
public int add(int numberFirst, int numberSecond){
return result;
}
8.3 變量和常量注釋
注釋說明,優(yōu)先采用右側(cè)//來注釋拨脉,若注釋說明太長則在上方添加注釋哆姻。
private String name; // 券名稱
/**
*當(dāng)前狀態(tài)的的數(shù)字,可以進(jìn)行修改
*/
private final int CURRENT_NUMBER=1;
9.總結(jié)
名稱 | 結(jié)構(gòu) |
---|---|
類名 | 類名=功能+類型后綴 |
常量 | 常量=形容詞(名詞)+_+名詞 |
變量 | 變量={范圍描述+}意義描述+類型描述 |
方法名 | 方法名=動詞+意義 |
id | id=控件縮寫_{范圍_}意義 |
layout.xml | layout.xml=組件類型_{范圍_}功能 |
string | strings=類型_{范圍_}功能 |
colors | colors=前綴{_控件}{_范圍}{_后綴} |
drawable | drawable=前綴{_控件}{_范圍}{_后綴} |