部分代码规范

1、包名全部采用小写,连续的单词只是简单地连接起来,不用下划线区分单词 
2、主包名采用反域名规则,一级包名为com/cn/org/edu/net,二级包名为xx(xx可以是公司或者个人的),三级包名根据应用进行命名,四级包名为通用名称/模块名称/层级名称,前三级可以统称为[主包名] 
例如:和而泰C-Life美容:com.het.cbeauty 
注:和而泰android项目全部以com.het.XX形式命名包括工程和库 
常见通用功能部分如下表:

包名含义
[主包名]. activity页面用到的Activity类 (activitie层级名用户界面层)
[主包名]. base基础共享的类 例如:BaseActivity、BaseFragment、BaseView等
[主包名]. adapter页面用到的Adapter类 (适配器的类)
[主包名]. api网络接口请求相关
[主包名]. constant常量配置
[主包名].view/widget自定义View等
[主包名].model/bean/entity实体类
[主包名]. db数据库操作相关所在的包
[主包名]. impl接口实现
[主包名]. service服务相关
[主包名]. manager管理类相关
[主包名]. receiverBroadcastReceiver服务
[主包名]. util/tools公共工具方法类

3、只需导入用到的类,不得用*导入包下所有类

例如:import foo.*; (×) import foo.Bar;(√)
  • 1
  • 2

4、导入类时,系统类在上方,自定义类在下方

注:如果不想太麻烦:可以用快捷键:Ctrl+Shift+o 快捷某个类/某个包/整个工程src都可以

1、 代码主要采用大/小驼峰命名法,即除首字母外,每个单词首字母大写,整体首字母大小根据其它规范决定 
2、 类名、接口名、枚举名等首字母大写,若由多个单词组成,则其后每个单词首字母大写,简明扼要,望文知意原则;

例如:
class ConfigManager{}
  • 1
  • 2

3、 继承自安卓组件的类,采用父类名作为后缀

规则:

1)  Acitivity类以Acitivity结尾;
2)  Fragment类以Fragment结尾;
3)  Service类以Service结尾;
4)  BroadcastReceiver类以Receiver结尾;
5)  ContentProvider类以Provider结尾;
6)  Application类以Application结尾;
7)  自定义View类以Custom/功能**View结尾;
8)  自定义Adapter类以Adapter结尾;
9)  adapter中的ViewHolder以Holder结尾;
10) 实体Bean以Model结尾;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
例如:
class LoginActivity extends Activity{}
  • 1
  • 2

4、 接口命名需要简单明了,长度不宜过长,建议在名称前面追加“I”

备注:
I**Listener
I**CallBack
I**;
  • 1
  • 2
  • 3
  • 4
  • 5

5、 自定义异常必须以Exception结尾 
6、 除for循环变量外,一律不得使用i、j、k等单字符作为变量名 
定义数组时方括号紧随在原始类型之后,数组名称一般使用复数形式

例如:
int[] arrays;
  • 1
  • 2

7、 常量、枚举等均采用大写形式,用下划线区分各单词

例如:
static final String DEVICE_ID = "device_id"
enum CounterType {NUMBER,DECIMAL,BOTH}
  • 1
  • 2
  • 3
  • 4

8、全局变量添加所有者前缀:实例成员变量前缀m(表示member),静态字段命名以s开头(表示static) 
例如: 
实例变量mRun 
静态变量sRun

9、控件变量添加组件前缀,顺序在所有者前缀之后 
例如: 
全局名称:mBtnNext 
局部名称:btnNext 
常见控件前缀见附件UI控件表

缩写全称含义
alcAnalogClock模拟时钟
btnButton按钮
calCalendarView日历
chbCheckBox复选框
chmChronometer秒表
dgcDigitalClock数字时钟
dbkDatePicker日期选择框
etEditText编辑框
elvExpandableListView可扩展列表
glrGallery画廊
gvGridView网格布局
ivImageView图片控件
lvListView列表控件
mcrMediaController多媒体控制
npkNumberPicker数字选择器
rdgRadioGroup单选按钮
rlRelativeLayout相对布局
tlTableLayout表格布局
rdoRadioButton单选按钮
rtbRatingBar评分控件
scrScrollView滚动控件
sdrSlidingDrawer滑动抽屉
sfcSurfaceView渲染视图
skbSeekBar进度条
spnSpinner下拉框
swhSwitch开关
thTabHost标签页
twTabWidget标签按钮
TbToggleButton切换按钮
tpTimePicker时间选择器
tvTextView文本框
vdoVideoView视频
webWebView网页控件
llLinearLayout线性布局
flFrameLayout帧布局
ibtnImageButton图片按钮

10、常量一般使用final static修饰,根据需要使用可见性修饰符

例如:
public static final int VISIBLE = 0x00000000;
  • 1
  • 2

11、一般方法名首字母小写,若由多个单词组成,则其后每个单词首字母大写,方法名通常是动词或动词短语。 
例如:

方法说明
initXX()初始化相关方法,使用init为前缀标识,如初始化布局initView()
isXX() checkXX()方法返回值为boolean型的请使用is或check为前缀标识
getXX()返回某个值的方法,使用get为前缀标识
handleXX()对数据进行处理的方法,尽量使用handle为前缀标识
displayXX()/showXX()弹出提示框和提示信息,使用display/show为前缀标识
saveXX()与保存数据相关的,使用save为前缀标识
resetXX()对数据重组的,使用reset前缀标识
clearXX()清除数据相关的
removeXXX()清除数据相关的
drawXXX()绘制数据或效果相关的,使用draw前缀标识
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值