Java命名规范

1 命名规范

命名规则

大驼峰命名(UpperCamelCase):每个单词的第一个字母大写,其他字母小写。

小驼峰命名(lowerCamelCase):如果仅有一个单词,那么所有字母全部小写,如果是两个及以上的单词组成的名称,那么除了第一个单词是全部小写外,其他但是的首字母大写,其他字母小写。

所有的命名都应该以字母(A-Z或者a-z)、美元符($)或者下划线(_)开始;

首字符之后可以是字母(A-Z或者a-z)、美元符($)或者下划线(_)或者数字的任何字符组合;

严禁使用关键词命名;

严禁使用拼音与英文的混合方式命名,更不允许使用中文的方式命名;

命名尽量使用英文,除了通用的拼音(Beijing)可视为英文,其他的拼音都不是英文;

命名除了常见的英文缩写,尽量避免使用缩写;

命名需要简洁,见名知意,通俗易懂;

1.1 包的命名

包的命名由全部小写的单词组成。一般使用公司的域名的作为自己程序包的唯一前缀,使用倒域名规则,例如:com.baidu.项目名,然后针对每个具体的模块在区分每个模块包名,例如:论坛模块的整体包名:com.baidu.项目名.tribune。

1.2 类的命名

类的命名遵循大驼峰命名的规则,常见类的命名规则如下:

类描述举例

Activity类以Activity为后缀启动页面:LaunchActivity

Fragment类以Fragment为后缀论坛推荐列表:TribuneRecommendFragment

Adapter类以Adapter为后缀论坛适配器:TribuneAdapter

ViewHolder类以ViewHolder为后缀广告类型:AdViewHolder

Bean类以Bean为后缀新闻实体类:NewsBean

Model类以Model为后缀论坛推荐Model:TribuneRecommendModel

工具类以Util为后缀网络工具类:NetWorkUtil

Service类以Service为后缀音频服务:AudioService

BroadcastReceiver 类以Receiver为后缀音频广播:AudioReceiver

ContentProvider类以Provider为后缀联系人的内容提供者:ContactsProvider

Dialog类以Dialog为后缀加载:LoadingDialog

监听器类以Listener为后缀网络监听:NetWorkListener

自定义基础类以Base为前缀例如:BaseActivity,BaseFragment

抽象类以 Abstract或者Abs为前缀例如:AbsBean

管理类以Manager为后缀联系人管理类:ContactsManager

解析类以Parser为后缀新闻Json解析类: NewsJsonParser

1.3 接口的命名

接口命名遵循大驼峰命名的规则,以大写的I开头,表示这是一个接口,以able或ible截尾。

1.4 变量命名

变量的命名遵循小驼峰命名的规则,其中控件的变量建议使用控件缩写+逻辑名称的格式,例如:

private TextView tvUserName;。

其中布局中每个控件的id命名为控件缩写_逻辑名称,例如:tv_user_name。

常见控件的缩写如下:

控件缩写控件缩写

TextViewtvEditTextet

ButtonbtnImageViewiv

ListviewlvRecyclerViewrv

GridViewgvWebViewwv

LinearlayoutllRlativeLayoutrl

FrameLayoutflScrollViewsv

ProgressBarpbImageButtonib

CheckBoxcbRadioButtonrb

RadioGrouprgSeekBarsb

VideoViewvvSurfaceViewsv

1.5 常量的命名

常量名称的每个单词都大写,并且每个单词之间通过下划线(_)连接,例如:

publicstaticfinalintREQUEST_KEY_CODE =1;

1.6 方法的命名

方法的命名遵循小驼峰命名的规则,以动词+名词的方式组成,例如初始化view:initView()。

1.7 资源文件命名

全部小写,并通过下划线连接。

1.7.1 布局文件的命名

以对应的类别名称为前缀,然后紧跟模块包名,最后是逻辑名称,他们之间通过下划线连接。

常见的命名如下:

布局类型布局前缀举例

Activityactivity_模块名_求助主页面:activity_sos_main

Fragmentfragment_模块名_论坛推荐:fragment_tribune_recommend

列表itemitem_模块名_论坛推荐:item_tribune_recommend

Dialogdialog_论坛详情页回复:dialog_tribune_reply

Includeinclude_全局通用的标题栏:include_global_title

1.7.2 动画资源文件命名

动画效果命名风格

淡入/淡出fade_in/fade_out

从某个方向淡入/淡出fade_方向_in(out)

从某个方向弹入/弹出push_方向_in(out)

从某个方向滑入/滑出slide_方向_in(out)

1.7.3 value中name命名

1.7.3.1 strings.xml

命名格式:string_模块名_逻辑功能,例如:启动页面的跳过:

name=“string_launch_jump”>跳过

1.7.3.2 colors.xml

命名格式:color_颜色值,其实颜色值是16进制,例如:白色:

name=“color_ffffff”>#FFFFFF

1.7.3.3 styles.xml

遵循大驼峰命名的规则,XXXStyle,例如:LoadingStyle。

1.7.3.4 dimens.xml

文字:font_字号,字号单位是sp;

距离:space_距离值,距离单位是dp;

控件的宽高:具体控件width/height宽高值,宽高值单位是dp。

代码如下:

18sp16dp48dp24dp

2 格式规范

2.1大括号的使用

大括号的开始在代码块开始的行尾,结束在代码块同一缩进的行首;

条件语句一定使用大括号;

左大括号前不换行,右大括号前换行,除了if-else,try-catch;

大括号内没有任何代码,不换行。

2.2 空格的使用

表示分隔时用一个空格;

运算符两边用一个空格隔开;

逗号语句后面如果不换行,也用一个空格。

3 注释

3.1 类、接口注释

使用多行注释的方式,规则如下:

/**

  • Author:开发人员姓名

  • Email:开发人员邮箱

  • Description: 描述该类/接口实现的具体功能

  • Date: 2017/4/20 14:16 创建该类的时间

*/

3.2 方法注释

3.2.1 整体方法注释

使用多行注释的方式,规则如下:

/*** 描述方法实现的功能*@params 说明参数含义*@return说明返回值含义*/

3.2.2 方法内部注释

方法内部单行注释,在被注释语句上方另起一行,使用“//”注释。

方法内部注释,使用/* … */注释。

注释与代码要对齐,*及// 与其后面的文字之间空一格。

3.3 变量注释

使用单行注释的方式,使用“//”注释,在变量后面天啊及,如果注释太长,在变量上方添加。

3.4 xml注释

以上,是我目前总结的常用的Android代码规范,希望对大家有所帮助,以后会根据自己对代码规范的要求提升继续补充!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值