Android及Java编程规范.doc

上传人:飞****2 文档编号:52751593 上传时间:2022-10-23 格式:DOC 页数:9 大小:125.50KB
返回 下载 相关 举报
Android及Java编程规范.doc_第1页
第1页 / 共9页
Android及Java编程规范.doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《Android及Java编程规范.doc》由会员分享,可在线阅读,更多相关《Android及Java编程规范.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Android及Java编程规范1 标识符命名法Android及Java编程时,标识符命名方法主要采用小驼峰命名法,即首单词所有字母小写,其余所有单词的第一个字母大写。命名原则是:尽可能的用最少的字符而又能完整的表达标识符的含义。2 缩写原则1 较短的单词可通过去掉“元音”形成缩写2 较长的单词可取单词的头几个字母形成缩写3 此外还有一些约定成俗的英文单词缩写.下面为常见的英文单词缩写:名称缩写icon ic (主要用在app的图标)color cl(主要用于颜色值)dividerdi(主要用于分隔线,不仅包括Listview中的divider,还包括普通布局中的线)selectorsl(主要

2、用于某一view多种状态,不仅包括Listview中的selector,还包括按钮的selector)averageavgbackground Bg(主要用于布局和子布局的背景)bufferbufcontrolctrldeletedeldocument docerrorerrescapeescincrementincinfomationinfoinitial initimageimgInternationalizationI18Nlengthlenlibrarylibmessagemsgpassword-pwdpositionposserversrvstringstrtemptmpwindow

3、wnd(win)程序中使用单词缩写原则:不要用缩写,除非该缩写是约定俗成的。3 命名规范3.1 包命名包(packages): 采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名为xx(可以是公司或则个人的随便),三级包名根据应用进行命名,四级包名为模块名或层级名包名此包中包含com.xx.应用名称缩写.activities页面用到的Activity类 (activities层级名用户界面层)com.xx.应用名称缩写.base页面中每个Activity类共享的可以写成一个i额BaseActivity类 (基础共享的类)com.xx.应用名称缩写.adapter 页面用到的Ada

4、pter类 (适配器的类)com.xx.应用名称缩写.tools此包中包含:公共工具方法类(tools模块名)com.xx.应用名称缩写.bean(或则 com.xx.应用名称缩写.unity )此包中包含:元素类com.xx.应用名称缩写.db数据库操作类com.xx.应用名称缩写.view(或则 com.xx.应用名称缩写.ui )自定义的View类等com.xx.应用名称缩写.service Service服务com.xx.应用名称缩写.broadcast Broadcast服务3.2 类命名类(classes):名词,采用大驼峰命名法,即所有组成类名称的所有单词首字母大写,尽量避免缩写

5、,除非该缩写是众所周知的, 比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。类描述例如activity 类Aty或者Activity为后缀标识欢迎页面类WelcomeAty.或者WelcomeActivityAdapter类Adp或者Adapte 为后缀标识新闻详情适配器NewtDetailAdp或则直接 NewDetailAdapter解析类 Hlr为后缀标识首页解析类HomePosterHlr公共方法类Tools或Manager为后缀标识线程池管理类:ThreadPoolManager日志工具类:LogTools数据库类以DBHelper后缀标识新闻数据库:N

6、ewDBHelperService类以Service为后缀标识时间服务TimeServiceBroadcastReceive类以Broadcast为后缀标识时间通知TimeBroadcastContentProvider 以Provider为后缀标识直接写的共享基础类以Base开头BaseActivity,BaseFragment3.3 接口命名接口(interface):命名规则与类一样采用大驼峰命名法,多以able或ible结尾,如:interface Runnable ;interface Accessible 。3.4 方法命名方法(methods):动词或动名词,采用小驼峰命名法例如

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

8、关的drawXXX()绘制数据或效果相关的,使用draw前缀标识3.5 变量命名变量(variables)采用小驼峰命名法。类中控件名称必须与xml布局id保持一致。用统一的量词通过在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。量词列表:量词后缀说明First 一组变量中的第一个Last 一组变量中的最后一个Next 一组变量中的下一个变量Prev 一组变量中的上一个Cur 一组变量中的当前变量3.6 常量命名常

9、量(Constants)全部大写,采用下划线命名法.例如:MIN_WIDTH3.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_m

10、ore_help图标图片使用icon_功能_说明seg_list_line具有分隔特征的图片使用seg_功能_说明sel_ok选择图标使用sel_功能_说明命名后缀:后缀说明unit在使用xml的tilemode来配图片时,element图片使用此后缀nor图片的状态,代表普通状态hl图片的状态,代表高亮状态press图片的状态,代表按下状态select图片的状态,代表其所占的view被选中unselect图片的状态,代表其所占的view没有被选中3.8 资源布局文件资源布局文件(XML文件(layout布局文件):全部小写,采用下划线命名法1)contentview命名, Activity默

11、认布局,以去掉后缀的Activity类进行命名。不加后缀:功能模块.xml例如:main.xml、more.xml、settings.xml或则:activity_功能模块.xml例如:activity_main.xml、activity_more.xml2)Dialog命名:dialog_描述.xml例如:dlg_hint.xml2)PopupWindow命名:ppw_描述.xml例如:ppw _info.xml3). 列表项命名listitem_描述.xml例如:listitem_city.xml4)包含项:include_模块.xml例如:include_head.xml、include

12、_bottom.xml5)adapter的子布局:功能模块_item.xml例如:main_item.xml、3.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中间缩小3.10 资源ID资源ID(resourcesid):大小写规范与方法名一致

13、,采用小驼峰命名法。命名规范为“资源控件的缩写 名”+“变量名”。注意:页面控件名称应该和控件id名保持一致strings.xml,colors.xml等中的id命名:命名模式:activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称strings.xml中,使用activity名称注释,将文件内容区分开来3.11 layout中的id命名命名模式为:view缩写_模块名称_view的逻辑名称view的缩写详情如下:控件缩写LayoutViewlvRelativeViewrvTextViewtvButtonbtnImageButton imgBtnI

14、mageView mgView或则 ivCheckBox chkRadioButton rdoBtnanalogClock anaClkDigtalClock dgtClkDatePicker dtPkEditText edtTxtTimePicker tmPktoggleButton tglBtnProgressBar proBarSeekBar skBarAutoCompleteTextViewautoTxtZoomControls zmCtlVideoView vdoViWdbView webViRantingBar ratBarTab tabSpinner spnChronometer

15、 cmtScollView sclViTextSwitch txtSwtImageSwitch imgSwtlistView lVi或则lvExpandableList epdLtMapView mapVi3.12 activity中的view变量命名命名模式为:逻辑名称+view缩写建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view3.13 其他命名1. styles.xml:将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中;2. 使用layer-list

16、和selector4 代码分段及注释原则应该给每个类增加能够阐述所实现功能的注释源程序中尽量避免连续的行有太多,应根据功能使用空行把代码适当分段,代码段功能应该尽量清晰,如不能在30秒内看出所实现功能,应该添加适当注释予以说明。源程序中要有适当的注释。源代码中要严格遵守缩进格式。5 Eclipse编辑器设置1. Tab Width设置为42. 最大行宽设置为120window-preferencesjava-code Style-formatter首先新建一个,如eclipse-new-style。因为eclipse自带的不能编辑编辑,在tab的Line Wrapping设置 最大的line

17、width 即可。默认为80,根据自己屏幕大小设置宽度吧.这样以后代码自动格式化时不会给换行了。6 Android编码规范建议1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母除第一个外,都为大写,其他字母都为小写3.常量命名只能包含字母和_,字母全部大写,单词之间用_隔开4.图片尽量分拆成多个可重用的图片5.服务端可以实现的,就不要放在客户端6.引用第三方库要慎重,避免应用大容量的第三方库,导致客户端包非常大7.处理应用全局异常和错误,将错误以邮件的形式发送给服务端8.图片的.9处理9.使用静态变量方式实现界面间共享要慎重10.Lo

18、g(系统名称模块名称接口名称,详细描述)11.单元测试(逻辑测试、界面测试)12.不要重用父类的handler,对应一个类的handler也不应该让其子类用到,否则会导致message.what冲突13.activity中在一个View.OnClickListener中处理所有的逻辑14.strings.xml中使用%1$s实现字符串的通配15.如果多个Activity中包含共同的UI处理,那么可以提炼一个CommonActivity,把通用部分叫由它来处理,其他activity只要继承它即可16.使用button+activitgroup实现tab效果时,使用Button.setSelected(true),确保按钮处于选择状态,并使activitygroup的当前activity与该button对应17.如果所开发的为通用组件,为避免冲突,将drawable/layout/menu/values目录下的文件名增加前缀18.数据一定要效验,例如:字符型转数字型,如果转换失败一定要有缺省值;服务端响应数据是否有效判断

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁