动力节点小编来告诉大家Java命名规则。
命名规则
大驼峰命名(UpperCamelCase):每个单词的第一个字母大写,其他字母小写。
小驼峰命名(lowerCamelCase):如果仅有一个单词,那么所有字母全部小写,如果是两个及以上的单词组成的名称,那么除了第一个单词是全部小写外,其他但是的首字母大写,其他字母小写。
所有的命名都应该以字母(A-Z或者a-z)、美元符($)或者下划线(_)开始;
首字符之后可以是字母(A-Z或者a-z)、美元符($)或者下划线(_)或者数字的任何字符组合;
严禁使用关键词命名;
严禁使用拼音与英文的混合方式命名,更不允许使用中文的方式命名;
命名尽量使用英文,除了通用的拼音(Beijing)可视为英文,其他的拼音都不是英文;
命名除了常见的英文缩写,尽量避免使用缩写;
命名需要简洁,见名知意,通俗易懂;
(1)包的命名
包的命名由全部小写的单词组成。一般使用公司的域名的作为自己程序包的唯一前缀,使用倒域名规则,例如:com.baidu.项目名,然后针对每个具体的模块在区分每个模块包名,例如:论坛模块的整体包名:com.baidu.项目名.tribune。
(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
(3)接口的命名
接口命名遵循大驼峰命名的规则,以大写的I开头,表示这是一个接口,以able或ible截尾。
(4)变量命名
变量的命名遵循小驼峰命名的规则,其中控件的变量建议使用控件缩写+逻辑名称的格式,例如:
private TextView tvUserName;。
其中布局中每个控件的id命名为控件缩写_逻辑名称,例如:tv_user_name。
常见控件的缩写如下:
控件缩写控件缩写
TextViewtvEditTextet
ButtonbtnImageViewiv
ListviewlvRecyclerViewrv
GridViewgvWebViewwv
LinearlayoutllRlativeLayoutrl
FrameLayoutflScrollViewsv
ProgressBarpbImageButtonib
CheckBoxcbRadioButtonrb
RadioGrouprgSeekBarsb
VideoViewvvSurfaceViewsv
(5)常量的命名
常量名称的每个单词都大写,并且每个单词之间通过下划线(_)连接,例如:
publicstaticfinalintREQUEST_KEY_CODE =1;
(6)方法的命名
方法的命名遵循小驼峰命名的规则,以动词+名词的方式组成,例如初始化view:initView()。
(7)资源文件命名
全部小写,并通过下划线连接。
1)布局文件的命名
以对应的类别名称为前缀,然后紧跟模块包名,最后是逻辑名称,他们之间通过下划线连接。
常见的命名如下:
布局类型布局前缀举例
Activityactivity_模块名_求助主页面:activity_sos_main
Fragmentfragment_模块名_论坛推荐:fragment_tribune_recommend
列表itemitem_模块名_论坛推荐:item_tribune_recommend
Dialogdialog_论坛详情页回复:dialog_tribune_reply
Includeinclude_全局通用的标题栏:include_global_title
2)动画资源文件命名
动画效果命名风格
淡入/淡出fade_in/fade_out
从某个方向淡入/淡出fade_方向_in(out)
从某个方向弹入/弹出push_方向_in(out)
从某个方向滑入/滑出slide_方向_in(out)
3)value中name命名
strings.xml
命名格式:string_模块名_逻辑功能,例如:启动页面的跳过:
name="string_launch_jump">跳过
colors.xml
命名格式:color_颜色值,其实颜色值是16进制,例如:白色:
name="color_ffffff">#FFFFFF
styles.xml
遵循大驼峰命名的规则,XXXStyle,例如:LoadingStyle。
dimens.xml
文字:font_字号,字号单位是sp;
距离:space_距离值,距离单位是dp;
控件的宽高:具体控件width/height宽高值,宽高值单位是dp。
代码如下:
18sp16dp48dp24dp
(1)大括号的使用
大括号的开始在代码块开始的行尾,结束在代码块同一缩进的行首;
条件语句一定使用大括号;
左大括号前不换行,右大括号前换行,除了if-else,try-catch;
大括号内没有任何代码,不换行。
(2)空格的使用
表示分隔时用一个空格;
运算符两边用一个空格隔开;
逗号语句后面如果不换行,也用一个空格。
(1)类、接口注释
使用多行注释的方式,规则如下:
/**
* Author:开发人员姓名
* Email:开发人员邮箱
* Description: 描述该类/接口实现的具体功能
* Date: 2017/4/20 14:16 创建该类的时间
*/
(2)方法注释
1)整体方法注释
使用多行注释的方式,规则如下:
/*** 描述方法实现的功能*@params 说明参数含义*@return说明返回值含义*/
2)方法内部注释
方法内部单行注释,在被注释语句上方另起一行,使用“//”注释。
方法内部注释,使用/* ... */注释。
注释与代码要对齐,*及// 与其后面的文字之间空一格。
(3)变量注释
使用单行注释的方式,使用“//”注释,在变量后面天啊及,如果注释太长,在变量上方添加。
(4)xml注释
<!--注释内容-->
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习