您的位置:首页 > 移动开发 > Android开发

Android命名规范

2015-11-13 16:35 120 查看
程序的命名规范尤为重要,通过一个程序员所写程序的命名方式上,可以看出一个程序员水平的高低,一个规范的命名,可以增加代码的可读性,这对于团队协作开发中更为重要,最好是团队中统一好大家命名方法,这样对于日后的工作会轻松很多。

下面总结几点常用的命名规范

1 包(packages): 采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名为xx(可以是公司或则个人的随便),三级包名根据应用进行命名,四级包名为模块名或层级名

2 类(classes):名词,采用大驼峰命名法(所有单词的第一个字母大写),尽量避免缩写,除非该缩写是众所周知的, 比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。

3 接口(interface):命名规则与类一样采用大驼峰命名法(所有单词的第一个字母大写),多以able或ible结尾,如interface Runna ble ;

interface Accessible 。

4 方法(methods):动词或动名词,采用小驼峰命名法(除首单词外,其余所有单词的第一个字母大写)。例如:onCreate(),run()



方法
说明
initXX()
初始化相关方法,使用init为前缀标识,如初始化布局initView()
isXX()
checkXX()方法返回值为boolean型的请使用is或check为前缀标识
getXX()
返回某个值的方法,使用get为前缀标识
processXX()
对数据进行处理的方法,尽量使用process为前缀标识
displayXX()
弹出提示框和提示信息,使用display为前缀标识
saveXX()
与保存数据相关的,使用sav为e前缀标识
resetXX()
对数据重组的,使用reset前缀标识
clearXX()
清除数据相关的
removeXXX()
清除数据相关的
drawXXX()
绘制数据或效果相关的,使用draw前缀标识

5 变量(variables)采用小驼峰命名法。类中控件名称必须与xml布局id保持一致。

用统一的量词通过在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。

量词列表:量词后缀说明

First 一组变量中的第一个

Last 一组变量中的最后一个

Next 一组变量中的下一个变量

Prev 一组变量中的上一个

Cur 一组变量中的当前变量

6 常量(Constants)全部大写,采用下划线命名法.例如:MIN_WIDTH

7 资源文件(图片drawable文件夹下):全部小写,采用下划线命名法,加前缀区分

命名模式:activity名称_逻辑名称/common_逻辑名称

如果有多种形态如按钮等除外如btn_xx.xml(selector)
名称
功能
btn_xx
按钮图片使用btn_整体效果(selector)
btn_xx_normal
按钮图片使用btn_正常情况效果
btn_xx_press
按钮图片使用btn_点击时候效果
bg_head
背景图片使用bg_功能_说明
def_search_cell
默认图片使用def_功能_说明
icon_more_help
图标图片使用icon_功能_说明
seg_list_line
具有分隔特征的图片使用seg_功能_说明
sel_ok
选择图标使用sel_功能_说明
命名后缀:

后缀
说明
unit
在使用xml的tilemode来配图片时,element图片使用此后缀
nor
图片的状态,代表普通状态
hl
图片的状态,代表高亮状态
press
图片的状态,代表按下状态
select
图片的状态,代表其所占的view被选中
unselect
图片的状态,代表其所占的view没有被选中
8 资源布局文件(XML文件(layout布局文件)):

全部小写,采用下划线命名法

1).contentview命名, Activity默认布局,以去掉后缀的Activity类进行命名。不加后缀:

功能模块.xml

例如:main.xml、more.xml、settings.xml

或则:activity_功能模块.xml

例如:activity_main.xml、activity_more.xml

2).Dialog命名:dialog_描述.xml

例如:dlg_hint.xml

2).PopupWindow命名:ppw_描述.xml

例如:ppw _info.xml

3). 列表项命名listitem_描述.xml

例如:listitem_city.xml

4).包含项:include_模块.xml

例如:include_head.xml、include_bottom.xml

5).adapter的子布局:功能模块_item.xml

例如:main_item.xml、

9 动画文件(anim文件夹下):全部小写,采用下划线命名法,加前缀区分。

//前面为动画的类型,后面为方向
动画命名例子
规范写法
备注
fade_in
淡入
fade_out
淡出
push_down_in
从下方推入
push_down_out
从下方推出
push_left
推像左方
slide_in_from_top
从头部滑动进入
zoom_enter
变形进入
slide_in
滑动进入
shrink_to_middle
中间缩小
10 资源ID(resourcesid):大小写规范与方法名一致,采用小驼峰命名法。命名规范为“资源控件的缩写 名”+“变量名”。注意:页面控件名称应该和控件id名保持一致

strings.xml,colors.xml等中的id命名:

命名模式:activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称

strings.xml中,使用activity名称注释,将文件内容区分开来

11 layout中的id命名

命名模式为:view缩写_模块名称_view的逻辑名称

view的缩写详情如下:
控件
缩写
LayoutView
lv
RelativeView
rv
TextView
tv
Button
btn
ImageButton
imgBtn
ImageView
mgView 或则 iv
CheckBox
chk
RadioButton
rdoBtn
analogClock
anaClk
DigtalClock
dgtClk
DatePicker
dtPk
EditText
edtTxt
TimePicker
tmPk
toggleButton
tglBtn
ProgressBar
proBar
SeekBar
skBar
AutoCompleteTextView
autoTxt
ZoomControls
zmCtl
VideoView
vdoVi
WdbView
webVi
RantingBar
ratBar
Tab
tab
Spinner
spn
Chronometer
cmt
ScollView
sclVi
TextSwitch
txtSwt
ImageSwitch
imgSwt
listView
lVi 或则lv
ExpandableList
epdLt
MapView
mapVi
控件
缩写
LayoutView
lv
RelativeView
rv
TextView
tv
Button
btn
ImageButton
imgBtn
ImageView
mgView 或则 iv
CheckBox
chk
RadioButton
rdoBtn
analogClock
anaClk
DigtalClock
dgtClk
DatePicker
dtPk
EditText
edtTxt
TimePicker
tmPk
toggleButton
tglBtn
ProgressBar
proBar
SeekBar
skBar
AutoCompleteTextView
autoTxt
ZoomControls
zmCtl
VideoView
vdoVi
WdbView
webVi
RantingBar
ratBar
Tab
tab
Spinner
spn
Chronometer
cmt
ScollView
sclVi
TextSwitch
txtSwt
ImageSwitch
imgSwt
listView
lVi 或则lv
ExpandableList
epdLt
MapView
mapVi
12.activity中的view变量命名

命名模式为:逻辑名称+view缩写

建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view

13.styles.xml:将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中;

14.使用layer-list和selector

15.android多国语言文件夹文件汇总如下:

维吾尔文(中国):values-ug-rCN

中文(中国):values-zh-rCN

中文(台湾):values-zh-rTW

中文(香港):values-zh-rHK

英语(美国):values-en-rUS

英语(英国):values-en-rGB

英文(澳大利亚):values-en-rAU

英文(加拿大):values-en-rCA

英文(爱尔兰):values-en-rIE

英文(印度):values-en-rIN

英文(新西兰):values-en-rNZ

英文(新加坡):values-en-rSG

英文(南非):values-en-rZA

阿拉伯文(埃及):values-ar-rEG

阿拉伯文(以色列):values-ar-rIL

保加利亚文: values-bg-rBG

加泰罗尼亚文:values-ca-rES

捷克文:values-cs-rCZ

丹麦文:values-da-rDK

德文(奥地利):values-de-rAT

德文(瑞士):values-de-rCH

德文(德国):values-de-rDE

德文(列支敦士登):values-de-rLI

希腊文:values-el-rGR

西班牙文(西班牙):values-es-rES

西班牙文(美国):values-es-rUS

芬兰文(芬兰):values-fi-rFI

法文(比利时):values-fr-rBE

法文(加拿大):values-fr-rCA

法文(瑞士):values-fr-rCH

法文(法国):values-fr-rFR

希伯来文:values-iw-rIL

印地文:values-hi-rIN

克罗里亚文:values-hr-rHR

匈牙利文:values-hu-rHU

印度尼西亚文:values-in-rID

意大利文(瑞士):values-it-rCH

意大利文(意大利):values-it-rIT

日文:values-ja-rJP

韩文:values-ko-rKR

立陶宛文:valueslt-rLT

拉脱维亚文:values-lv-rLV

挪威博克马尔文:values-nb-rNO

荷兰文(比利时):values-nl-BE

荷兰文(荷兰):values-nl-rNL

波兰文:values-pl-rPL

葡萄牙文(巴西):values-pt-rBR

葡萄牙文(葡萄牙):values-pt-rPT

罗马尼亚文:values-ro-rRO

俄文:values-ru-rRU

斯洛伐克文:values-sk-rSK

斯洛文尼亚文:values-sl-rSI

塞尔维亚文:values-sr-rRS

瑞典文:values-sv-rSE

泰文:values-th-rTH

塔加洛语:values-tl-rPH

土耳其文:values–r-rTR

乌克兰文:values-uk-rUA

越南文:values-vi-rVN

控件
缩写
LayoutView
lv
RelativeView
rv
TextView
tv
Button
btn
ImageButton
imgBtn
ImageView
mgView 或则 iv
CheckBox
chk
RadioButton
rdoBtn
analogClock
anaClk
DigtalClock
dgtClk
DatePicker
dtPk
EditText
edtTxt
TimePicker
tmPk
toggleButton
tglBtn
ProgressBar
proBar
SeekBar
skBar
AutoCompleteTextView
autoTxt
ZoomControls
zmCtl
VideoView
vdoVi
WdbView
webVi
RantingBar
ratBar
Tab
tab
Spinner
spn
Chronometer
cmt
ScollView
sclVi
TextSwitch
txtSwt
ImageSwitch
imgSwt
listView
lVi 或则lv
ExpandableList
epdLt
MapView
mapVi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: