Android文件命名规范

来源:互联网 发布:黄牛刷票软件 编辑:程序博客网 时间:2024/05/21 14:03

      命名不规范真的很坑爹!!

     

一、Android编码规范

1.java代码中不出现中文,最多注释中可以出现中文

2.局部变量命名、静态成员变量命名

只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写

3.常量命名

只能包含字母和_,字母全部大写,单词之间用_隔开

4.layout中的id命名

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

view的缩写详情如下

LayoutView:lv

RelativeView:rv

TextView:tv

ImageView:iv

ImageButton:im

Button:btn

5.activity中的view变量命名

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

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

6.strings.xml中的id命名

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

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

7.drawable中的图片命名

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

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

8.使用layer-list和selector

9.图片尽量分拆成多个可重用的图片

10.服务端可以实现的,就不要放在客户端

11.引用第三方库要慎重,避免应用大容量的第三方库,导致客户端包非常大

12.处理应用全局异常和错误,将错误以邮件的形式发送给服务端

13.图片的.9处理

14.使用静态变量方式实现界面间共享要慎重

15.Log(系统名称 模块名称 接口名称,详细描述)

16.单元测试(逻辑测试、界面测试)

17.不要重用父类的handler,对应一个类的handler也不应该让其子类用到,否则会导致message.what冲突

18.activity中在一个View.OnClickListener中处理所有的逻辑

19.strings.xml中使用%1$s实现字符串的通配

20.如果多个Activity中包含共同的UI处理,那么可以提炼一个CommonActivity,把通用部分叫由它来处理,其他activity只要继承它即可

21.使用button+activitgroup实现tab效果时,使用Button.setSelected(true),确保按钮处于选择状态,并使activitygroup的当前activity与该button对应

22.如果所开发的为通用组件,为避免冲突,将drawable/layout/menu/values目录下的文件名增加前缀

23.数据一定要效验,例如

字符型转数字型,如果转换失败一定要有缺省值;

服务端响应数据是否有效判断 


资源控件命名

仅供参考,只要形成一个统一,见量知其意就可

程序员的水平,看代码规范最直接了。也就是工资的高低和你的代码质量成正比的,养成良好习惯吧!!

(一)  Layout命名

1.contentview命名: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

 

(二)  图片命名

1.       静态图片前缀_模块、前缀_模块_描述

例如:bg_main.png、ic_main_search.png

2.       动态图片前缀_模块_描述_状态、前缀_描述_状态

              例如:btn_film_buy_n.png、btn_film_buy_p.png、btn_back_n.png

       如果有多种形态如按钮等除外如btn_film_buy.xml(selector)

 

(三)  id命名(待调整??)

Xml中id的命名,建议直接根据意义命名,不必使用以上复杂的定位,因为findViewById只在某指定layout中find。或者value中建立id文件统一管理(兼容性不好)

android:id="@id/tv_name"android:id="@id/listv"、android:id="@id/tv_head_title"

 

(四)  字符串命名

       最好不要跟title、dialog、button等东西关系起来,直接用相同英文含义就可以了,如果下:

<string name="ok">确定</string>

<string name=" welcome_to_use">欢迎使用</string>

 

再举一些不好的例子,如下<string name="menu_ok ">确定</string>

 

(五)  控件命名

控件缩写_描述

例如:TextViewtv_name、Button btn_buy、LinearLayoutllyt_body;

 

(六)  类命名

功能模块Activity.class  功能模块Service.class

如:MainActivity.class  HuaFuBaoActivity.classAppUpgradeService.class

 

资源缩写说明

 

 

前缀

说明

ic --icon

主要用于布局和子布局的图标

bg--background

主要用于布局和子布局的背景

di--divider

主要用于分隔线,不仅包括Listview中的还包括普通布局中的线

sl--selector

主要用于某一view多种状态,listview 按钮等

cl--color

主要用于颜色值

bt--button

主要用于按钮的表示,有时我们会在ic和bt之间犹豫,简单的区分即是功能视图,如果一个view执行的时back或者confirm或者cancel的功能,则命名上则应该使用bt

 

 

 

 

后缀

说明

unit

在使用xml的tilemode来配图片时,element图片使用此后缀

nor

图片的状态,代表普通状态

hl

图片的状态,代表高亮状态

press

图片的状态,代表按下状态

select

图片的状态,代表其所占的view被选中

unselect

图片的状态,代表其所占的view没有被选中

 

 

 

 

 

 

 

 

 

 

 

组件名称对照表

 

组件名称

简写

组件名称

简写

Button

Btn(btn)

RadioButton

Rbtn(rbtn)

ImageButton

Ibtn(ibtn)

TextView

Tv(tv)

ImageView

Iv (iv)

ListView

Lv(lv)

ProgressBar

Pbar(pbar)

EditText

Edtv(et)

ScrollView

Sclv(scly)

CheckBox

Chk(chk)

RelativeLayout

Rlyt(rlyt)

LinearLayout

Llyt(llyt)

TableLayout

Tlyt(tlyt)

AbsoluteLayout

ALyt(alyt)

FrameLayout

Flyt(flyt)

 

 

 

参考:http://blog.csdn.net/bondsui


原创粉丝点击