Android开发之文件命名规范

来源:互联网 发布:淘宝好的大童装店铺 编辑:程序博客网 时间:2024/05/18 07:19

以前自己学习Android做项目的时候都是自己一个人在单搞,所以对命名这一块没有形成什么良好的习惯,只要自己能懂就可以了。但是现在进公司实习才知道这样完全不行的,公司的项目基本都是团队合作,所以你要能看懂别人的代码,也要让别人能看懂你的代码。当我打开那些资源表的时候完全傻了,实在是太多了,完全不知道哪个是哪个。再就是我自己写的界面差不多有十几个图标,我也不知道该怎么命名别人才能懂。没办法,只能硬着头皮去找项目经理问怎么命名,项目经理很快的说了一遍,但是我觉得我还没有完全接受,只能自己去网上查了一下资料(真心觉得坑,写了这么久的代码才知道自己命名都不会)。下面跟大家分享一下我查到的资料总结!

首先你要看懂别人的命名就要知道别人的那些缩写代表什么意义:


资源缩写说明

前缀

说明

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)

 

 



当你能够读懂那些缩写后就简单多了,接下来只要知道你们那个团队的统一命名规则,大部分都是见量知其意,下面列举一些常见的命名规则:

(一)  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"

  个人习惯android:id="@id/tvName"、android:id="@id/listvName"、android:id="@id/tvHeadTitle",然后在class里的命名和id名字保持一致


(四)  字符串命名

 最好不要跟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  LoginActivity.class   AppUpgradeService.class


0 0
原创粉丝点击