您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Android应用开发命名规范
Android命名规范1概述良好的编码习惯和命名规范,在团队开发中有着举足轻重的作用。统一的命名规范,利于代码可读性,日后维护也会更高效快捷。尤其是在开发过程中,命名规范统一尤为重要。因为每个人的编程方式和习惯不一样。所以java代码的命名规范以及图片资源命名规范需大家共同达成。1.1标识符命名法标识符命名法主要有四种:1驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。(代码变量,统一规范,用此法)2帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写3下划线命名法:单词与单词间用下划线做间隔。(xml资源文件用此法)4匈牙利命名法:广泛应用于微软编程环境中,在以Pascal命名法的变量前附加小写序列说明该变量的类型。量的取名方式为:scope_+prefix_+qualifier范围前缀,类型前缀,限定词。标识符命名原则:尽可能的用最少的字符而又能完整的表达标识符的含义。1.2英文缩写原则1较短的单词可通过去掉“元音”形成缩写2较长的单词可取单词的头几个字母形成缩写3此外还有一些约定成俗的英文单词缩写.下面为常见的英文单词缩写:(去除元音)名称缩写iconic(主要用在app的图标)colorcl(主要用于颜色值)dividerdi(主要用于分隔线,不仅包括Listview中的divider,还包括普通布局中的线)selectorsl(主要用于某一view多种状态,不仅包括Listview中的selector,还包括按钮的selector)averageavgbackgroundBg(主要用于布局和子布局的背景)bufferbufcontrolctrldeletedeldocumentdocerrorerrescapeescincrementincinfomationinfoinitialinitimageimgInternationalizationI18Nlengthlenlibrarylibmessagemsgpassword-pwdpositionposserversrvstringstrtemptmpwindowwnd(win)程序中使用单词缩写原则:不要用缩写,除非该缩写是约定俗成的。2命名规范2.1包(packages)采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名为xx(可以是公司或则个人的随便),三级包名根据应用进行命名,四级包名为模块名或层级名包名此包中包含com.xx.应用名称缩写.activities页面用到的Activity类(activities层级名用户界面层)com.xx.应用名称缩写.base页面中每个Activity类共享的可以写成一个BaseActivity类(基础共享的类)com.xx.应用名称缩写.adapter页面用到的Adapter类(适配器的类)com.xx.应用名称缩写.tools此包中包含:公共工具方法类(tools模块名)com.xx.应用名称缩写.bean(或则com.xx.应用名称缩写.unity)此包中包含:元素类com.xx.应用名称缩写.db数据库操作类com.xx.应用名称缩写.view(或则com.xx.应用名称缩写.ui)自定义的View类等com.xx.应用名称缩写.serviceService服务com.xx.应用名称缩写.broadcastBroadcast服务2.2类(classes)名词,采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的,比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。类描述例如activity类Aty或者Activity为后缀标识欢迎页面类WelcomeAty.或者WelcomeActivityAdapter类Adp或者Adapte为后缀标识新闻详情适配器NewtDetailAdp或则直接NewDetailAdapter解析类Hlr为后缀标首页解析类HomePosterHlr识公共方法类Tools或Manager为后缀标识线程池管理类:ThreadPoolManager日志工具类:LogTools数据库类以DBHelper后缀标识新闻数据库:NewDBHelperService类以Service为后缀标识时间服务TimeServiceBroadcastReceive类以Broadcast为后缀标识时间通知TimeBroadcastContentProvider以Provider为后缀标识直接写的共享基础类以Base开头BaseActivity,BaseFragment2.3接口(interface)命名规则与类一样采用大驼峰命名法,多以able或ible结尾,如interfaceRunnable;interfaceAccessible。2.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前缀标识2.5变量(variables)采用小驼峰命名法。类中控件名称必须与xml布局id保持一致。用统一的量词通过在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。strCustomerFirststrCustomerLaststrFirstCustomerstrLastCustomer对比量词列表:量词后缀说明First一组变量中的第一个Last一组变量中的最后一个Next一组变量中的下一个变量Prev一组变量中的上一个Cur一组变量中的当前变量2.6常量(Constants)全部大写,采用下划线命名法.例如:MIN_WIDTH2.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_功能_说明命名后缀:2.8资源布局文件(XML文件(layout布局文件))全部小写,采用下划线命名法1).contentview命名,Activity默认布局,以去掉后缀的Activity类进行命名。不加后缀:功能模块.xml例如:main.xml、more.xml、settings.xml或则:activity_功能模块.xml后缀说明unit在使用xml的tilemode来配图片时,element图片使用此后缀nor图片的状态,代表普通状态hl图片的状态,代表高亮状态press图片的状态,代表按下状态select图片的状态,代表其所占的view被选中unselect图片的状态,代表其所占的view没有被选中例如: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_bottom.xml5).adapter的子布局:功能模块_item.xml例如:main_item.xml、2.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中间缩小2.10资源ID(resourcesid)大小写规范与方法名一致,采用小驼峰命名法。命名规范为“资源控件的缩写名”+“变量名”。注意:页面控件名称应该和控件id名保持一致strings.xml,colors.xml等中的id命名:命名模式:activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称strings.xml中,使用activity名称注释,将文件内容区分开来2.11layout中的id命名命名模式为:view缩写_模块名称_view的逻辑名称view的缩写详情如下:控件缩写LayoutViewlvRelativeViewrvTextViewtvButtonbtnImageButtonimgBtnImageViewmgView或则ivCheckBoxchkRadioButtonrdoBtnanalogClockanaClkDigtalClockdgtClkDatePickerdtPkEditTextedtTxtTimePickertmPktoggleButtontglBtnProgressBarproBarSeekBarskBarAutoCompleteTextViewautoTxtZoomControlszmCtlVideoViewvdoViWdbViewwebViRantingBarratBarTabtabSpinnerspn2.12activity中的view变量命名命名模式为:逻辑名称+view缩写建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view2.13styles.xml将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中;2.14字符串主要有一个原则,就是字符串的资源定义,最好不要跟title、dialog、button等东西关系起来,直接用相同英文含义就可以了,如果下:ok-确定ChronometercmtScollViewsclViTextSwitchtxtSwtImageSwitchimgSwtlistViewlVi或则lvExpandableListepdLtMapViewmapVicancel-取消save-保存welcome_to_use-欢迎使用use_at_first_time-首次使用等等,不一一举例,下面再举一些不好的例子,如下menu_ok-确定menu_back-返回dialog_ok这里,本用意是用作菜单上的文字资源,但对话框也有可能会用到,因此如果在对话框上,用menu_ok就,显得极为不妥了。3命名禁忌Android工程中,res\drawa
本文标题:Android应用开发命名规范
链接地址:https://www.777doc.com/doc-6496805 .html