美文网首页
Android代码规范

Android代码规范

作者: Android_程序媛 | 来源:发表于2019-03-21 15:04 被阅读0次

最近公司要求每人总结一份代码规范,然后我根据平常自己对代码规范的要求,总结了一下。

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

常见控件的缩写如下:

控件 缩写 控件 缩写
TextView tv EditText et
Button btn ImageView iv
Listview lv RecyclerView rv
GridView gv WebView wv
Linearlayout ll RlativeLayout rl
FrameLayout fl ScrollView sv
ProgressBar pb ImageButton ib
CheckBox cb RadioButton rb
RadioGroup rg SeekBar sb
VideoView vv SurfaceView sv

1.5 常量的命名

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

public static final int REQUEST_KEY_CODE = 1;

1.6 方法的命名

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

1.7 资源文件命名

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

1.7.1 布局文件的命名

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

常见的命名如下:

布局类型 布局前缀 举例
Activity activity_模块名_ 求助主页面:activity_sos_main
Fragment fragment_模块名_ 论坛推荐:fragment_tribune_recommend
列表item item_模块名_ 论坛推荐:item_tribune_recommend
Dialog dialog_ 论坛详情页回复:dialog_tribune_reply
Include include_ 全局通用的标题栏: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_模块名_逻辑功能,例如:启动页面的跳过:

<resources>
    <string> name="string_launch_jump">跳过</string>
</resources>

1.7.3.2 colors.xml

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

<resources>
    <color> name="color_ffffff">#FFFFFF</color>
</resources>

1.7.3.3 styles.xml

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

1.7.3.4 dimens.xml

  • 文字:font_字号,字号单位是sp;
  • 距离:space_距离值,距离单位是dp;
  • 控件的宽高:具体控件width/height宽高值,宽高值单位是dp。

代码如下:

<resources>
    <dimen name="font_18">18sp</dimen>
    <dimen name="space_16">16dp</dimen>
    <dimen name="button_width_48">48dp</dimen>
    <dimen name="button_height_24">24dp</dimen>
</resources>

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 整体方法注释

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

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

3.2.2 方法内部注释

  • 方法内部单行注释,在被注释语句上方另起一行,使用“//”注释。
  • 方法内部注释,使用/* ... */注释。
  • 注释与代码要对齐,*及// 与其后面的文字之间空一格。

3.3 变量注释

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

3.4 xml注释

     <!--注释内容-->

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

相关文章

  • Android编码规范

    Android开发代码规范相关系列文章: Android命名规范 Android编码规范 Android编码规范有...

  • Android命名规范

    Android开发代码规范相关系列文章: Android命名规范 Android编码规范 俗话说:无规矩不成方圆,...

  • Android开发中的优化方案

    一、命名规范 代码规范先从命名规范开始,Android的命名规范主要涉及:Java源代码,xml文件,图片资源。 ...

  • Android:你不能忽略的代码命名规范

    前言 Android代码规范内容非常多,但对我们最有用& 最有影响的莫过于 Android代码的命名规范 可是,...

  • Android代码规范

    1.前言 本文档参考了Google官方Android编码风格规范,尽量形成一个统一的风格,见量知其意就可。 2.源...

  • Android代码规范

    框架要求 : 1 . 编码格式统一采用 UTF-8 , 开发工具统一使用 androidstudio . java...

  • Android 代码规范

    本文转载于Blankj/AndroidStandardDevelop: :star2: Best practice...

  • Android代码规范

    一、Android组件 通信,对于数据量比较大的,避免使用 Intent + Parcelable的方式,可以考虑...

  • Android代码规范

    在刚开始编程的时候,代码毫无规范而言,命名则是根据自己的喜好而来,记得英文的时候直接上英文,忘记的时候直接拼音,有...

  • Android代码规范

    https://blog.csdn.net/xinzailiulang992/article/details/53...

网友评论

      本文标题:Android代码规范

      本文链接:https://www.haomeiwen.com/subject/jlzfvqtx.html