Android开发编码规范之文件命名(一)
1.包命名
命名规则:一个惟一包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com,edu,gov,mil,net,orgo。包名的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范可能以特定目录名的组成来区分部门(department),项目(project),机器(machine),或注册名(login names)
包名由小写的字母组成,默认以com.eaglesoul.eplatform.english开头,然后接上根据功能划分的模块名。例如
包名命名
包名 |
---|
com.eaglesoul.eplatform.english.model |
com.eaglesoul.eplatform.english.model |
com.eaglesoul.eplatform.english.ui |
com.eaglesoul.eplatform.english.controller |
com.eaglesoul.eplatform.english.constant |
com.eaglesoul.eplatform.english.db |
com.eaglesoul.eplatform.english.bean |
com.eaglesoul.eplatform.english.ui.activity |
com.eaglesoul.eplatform.english.ui.adapter |
2.类和接口命名
命名规则:类名是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量使你的类名简洁而富于描述。使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML) 接口一般要使用listener、able、ible、er 等后缀
名称的首字母需要大写,如果由多个单词组成,那么每个单词的首字母需要大写,其他字母小写。
类名和接口名 |
---|
class LoginActivity |
interface OnClickListener |
3. 方法的命名
命名规则:方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。
方法名 |
---|
public String getName() |
public boolean isExist() |
4. 变量的命名
命名规则:第一个单词的首字母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头,尽管 这在语法上是允许的。变量名应简短且富于描述。变量名的选用应该易于记忆,即,能够指出其用途。尽量避 免单个字符的变量名,除非是一次性的临时变量。临时变量通常被取名为i,j,k,m和n,它们一般用于整型 c,d,e,它们一般用于字符型。
采用驼峰命名法命名
· 非公共的、非静态的域变量用m前缀
· 静态域变量用s前缀
· 公共变量直接采用小写的
· 集合类型的变量使用复数形式,若多种集合类型的变量存储的是相同类型的对象,除了根据功能区分,也可以简 单通过集合类型来区分
· 对于各种控件的名称采用 缩写+功能名
public class User {
private int mId;
String mName;
protected int mAge;
private static User sUser;
public int level;
public List companies;
public List listScores;
Public Score[] arrScores;
}
5. 常量的命名
常量需要声明为final static形式,组成名称的单词必须全部大写,单词之间用下划线隔开。
private static final int FADE_IN_TIME = 200;
6.异常的命名
名称必须以Exception结尾。
NullPointerException
7.布局的命名
name是模块的名称或功能的描述,单词必须全部小写,单词之间用下划线隔开。
对于各个类名和布局名为: 功能名+Activity.java activity_+功能名.xml
功能名 类名 布局文件名
功能名 | 类名 | 布局文件名 |
---|---|---|
activity | HistoryActivity.java | activity_history.xml |
dialog | OkDialog.java | dialog_ok.xml |
fragment | StudyFragment.java | fragment_study.xml |
item | HistoryItem.java | item_history.xml |
8.ID的命名
组成名称的单词必须全部小写,单词之间用下划线隔开,名称不需要复杂的层级定位,只需要准确描述所代表控件的功能作用即可,通常我们在名称前使用控件类型的缩写前缀来避免重复起名的麻烦。
id命名为 缩写_功能名 对应的View 命名为 缩写+功能名
类型 缩写 ID命名 View命名
类型 | 缩写 | ID命名 | View命名 |
---|---|---|---|
TextView | tv | tv_title | tvTitle |
EditText | et | et_input_name | etInputName |
RelativeLayout | rlyt | rlyt_login | rlytLogin |
LinearLayout | llyt | llyt_login | llytLogin |
控件类型 | 源文件中缩写 | 资源文件中缩写 |
---|---|---|
View | V | v |
Button | Btn | btn |
ImageButton | Ibtn | ibtn |
RadioButton | Rbtn | rbtn |
ToggleButton | Tbtn | tbtn |
CheckBox | Chk | chk |
TextView | Tv | tv |
EditText | Et | et |
ImageView | Iv | iv |
ListView | Lv | lv |
ProgressBar | Pbar | pbar |
ScrollView | Sclv | sclv |
RelativeLayout | Rlyt | rlyt |
LinearLayout | Llyt | llyt |
TableLayout | Tlyt | tlyt |
FrameLayout | Flyt | flyt |
9. 图片的命名
图片名称一般由模块名称/功能描述 + 后缀组成,后缀是可选的。
前缀 | 描述 | 示例 |
---|---|---|
ic_ | 图标 | ic_launcher.png |
bg_ | 背景图片 | bg_title.png |
sl_ | 状态图片 | sl_button.png |
后缀 | 描述 | 示例 |
---|---|---|
无 | 普通状态 | login.png |
_p | 按压状态 | login_p.png |
_c | 选中状态 | login_c.png |
_d | 不可用状态 | login_d.png |
10.其他资源命名
遵循见名知意的原则,组成名称的单词必须全部小写,单词之间用下划线隔开。
其他资源命名 |
---|
<color name=”white”>#FFFFFF</color> |
<color name=”white”>#FFFFFF</color> |