安卓开发习惯///个人总结加网传经验

      以前刚开发app的时候,命名随便来,到最后如果不点开类文件,哪个类是干嘛的都不知道,严重影响了开发效率,也不利于别人看代码。之后发现了自己的问题,就去网上借鉴别人的规范,结合自己的开发经验,取其精华去其糟粕,大概就有了这么一篇文章。

1.包结构

1.1 包名

包命名主要和包结构有关。

1.1.1 按组件区分

这种区分方式,将四大组件,view,constant(常量),网络等分别放在不同的包中,简洁明了,类目找起来也比较方便,看起来整齐一些。有第三方调用的时候单独再建立一个第三方的包,例如接入支付宝,就建一个包叫com.xx.alipay;

1.1.2 按模块区分

这种自然是前缀加功能模块>>com.tuotuo.solo.updateVideo

这种的优点大概就是多人分工开发会方便一点。

个人比较倾向于第一种,包名取得简单,找起来也方面。

1.2 文件存放位置

常见的就不赘述,drawable文件夹里主要存放自定义view,如圆角按钮等。

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

包名

此包中包含

com.xx.应用名称缩写.activity

 页面用到的Activity (activit层级名用户界面层)

 com.xx.应用名称缩写.base

 页面中每个Activity类共享的可以写成一个iBaseActivity (基础共享的类)

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.应用名称缩写.service    

 Service服务

com.xx.应用名称缩写.broadcast  

 Broadcast服务


2 命名

常见命名有以下三种方法:

驼峰命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。

帕斯卡命名法:又称大驼峰命名法,所有单词的第一个字母大写

下划线命名法:单词与单词间用下划线做间隔。

2.1 类命名

建议延用java源码规范,即帕斯卡命名法 ,如(MainActivity)

2.2 方法以及变量

用驼峰 (void onClick(View v) ; BaseAdapter mAdapter;)

2.3 layout文件

文件用于Activity布局的时候,组件加名字:aty_splash.xml,frg_playVideo.xml;

layout作为一个共用的布局时,例如分割线,用view_加布局:view_line.xml

这样布局里面include时候找起来也方便,管理起来也简单。

2.4 控件id

控件id我用的是控件简写加下划线加带特性的标识符。

例如播放按钮btn_play

对应变量定义的时候也根据id来,如Button btn_play,使id和变量一致,方便查找和调用。

下面为常见的英文单词缩写:

名称

缩写

icon  

ic (主要用在app的图标

color  

cl主要用于颜色值

divider

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

selector

sl主要用于某一view多种状态,不仅包括Listview中的selector,还包括按钮的selector

average

avg

background  

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

buffer

buf

control

ctrl

delete

del

document 

doc

error

err

escape

esc

increment

inc

infomation

info

initial 

init

image

img


 

length

len

library

lib

message

msg

password-

pwd

position

pos

server

srv

string

str

temp

tmp

window

wnd(win)

2.5 常量

全部大写,采用下划线命名法.例如:MIN_WIDTH

2.6 资源文件(图片drawable文件夹下)

全部小写,采用下划线命名法,加前缀区分

名称

功能

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

 在使用xmltilemode来配图片时,element图片使用此后缀

nor

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

hl

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

press

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

select

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

unselect

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

2.7 其他

Dialog命名:dialog_描述.xml

       例如:dlg_hint.xml

PopupWindow命名:ppw_描述.xml

       例如:ppw _info.xml

列表项命名item_描述.xml

       例如:item_city.xml

包含项:include_模块.xml

       例如:include_head.xmlinclude_bottom.xml

adapter的子布局:adp_功能模块.xml

       例如:adp_display.xml

 动画文件(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 注释

创建类、有个性的变量(如标识位、链表)时,顺手加一下注释,到头来改起来比较方便,也利于代码阅读。

4 总结

      个人认为规范命名的目的,首先是让各个文件各段代码功能一目了然,其次就是在调用的时候简单可行。比如说你在findviewbyid的时候,要找一个textview,那你输入tv_,结果一目了然。

权当抛砖引玉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值