zoukankan      html  css  js  c++  java
  • android代码规范和studio配置CodeStyle

    studio配置CodeStyle可以很好的帮助我们检测代码规范性,保持大家的代码统一,来看看怎么配置和使用吧

    代码规范,自己公司的一套

    代码规范

    一、      简介

    A.    目的

    本文提供一整套编写高效可靠的 Java代码的标准、约定和指南。它们以安全可靠的软件工程原则为基础,使代码易于理解、维护和增强。而且,通过遵循这些程序设计标准,你作为一个 Java软件开发者的生产效率会有显著提高。经验证明,若从一开始就花时间编写高质量的代码,则在软件开发阶段,对代码的修改要容易很多。最后,遵循一套通用的程序设计标准将带来更大的一致性,使软件开发团队的效率明显提高。

          

    Note: 规范编码的目的是让开发者更容易理解其他人的代码,而不是约束你编码的方式

    B.    范围

    本指南仅适用于使用Java编写的Android程序代码。

    C.    参考资料

    http://www.oracle.com/technetwork/java/codeconvtoc-136057.html

    http://source.android.com/source/code-style.html

     

     

    二、      快速入门

    l  驼峰式命名(大小写交替)

    错误:

    public classmyClass

    publicinterface foo

    public finalstatic int max = 100

    public intFooValue

    正确:

    public classMyClass

    publicinterface IFoo

    public finalstatic int MAX = 100

    public intfooValue

    l  使用Javadoc识别的注释

    在函数声明前添加注释(输入”/**”+回车)

    l  精简函数体(最好不要超过40行)

    l  局部变量随用随声明(尽量缩小变量的作用域)

    l  每行最长100字符

    l  缩进用4个空格代替TAB

    l  成员变量名用m开头,static变量名用s开头

    l  前大括号“{”不要单占一行

    错误:

    if(condition)

    {

    //dosomething

        }

    正确:

    if(condition) {

        //do something

    }

    l  多利用标准注解

    错误:

    publicvoidonCreate(Bundle savedInstanceState) {

    正确:

    @Override

    publicvoidonCreate(Bundle savedInstanceState) {

    l  少用不常见缩写

    错误:opnDlg

    正确:openDialog

    三、      命名

    A.  Java命名规范

    命名应符合驼峰式规则,利用大小写字母交替来区分名称中的不同单词,即应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写。

    1.        尽量使用完整的英文描述符,采用适用于该领域的术语

    2.        采用大小写混合使名字可读

    3.        尽量少用缩写,但如果用了,要明智地使用。

    4.        避免使用类似的名字,或者仅仅是大小写不同的名字

    类型

    规则

    示例

    包名

    全部小写字母,URL倒序

    package com.domain.project

    类名

    首字母大写,使用描述性强的名词,避免使用缩写,除非该缩写十分通用(Url、Html)

    class Raster;

    class ImageSprite;

    接口

    同上。通常以字母I开头。回调接口等特殊情况可不加I。

    interface IRasterDelegate;

    interface IStoring;

    interface OnClickListener;

    方法

    使用动词,驼峰式命名,首字母小写

    run();

    runFast();

    getBackground();

    变量

    使用有意义的简短的单词,驼峰式,首字母小写。

    成员变量m开头,JavaBean例外。

    static变量s开头。

    int i;

    float myWidth;

    int mPrivate;

    static MyClass sSingleton;

    常量

    全部大写,用下划线分割单词,static final修饰

    static final int MIN_WIDTH = 4;

    B.  Android命名规范

    类型

    规则

    示例

    Activity

    XxxxActivity

    MainActivity

    View

    XxxView,XxxLayout

    RedTextView、BluetoothDialog

    Service

    XxxService

    BroadcastReceiver

    XxxxReceiver

    工具方法类

    Utils或Manager为后缀

    ThreadPoolManager、LogUtils

    基础类                    

    BaseXxx

    BaseActivity、BaseFragment、BaseDao

    布局xml

    全部小写,以下划线分割,使用名词命名。Activity或Fragment的布局文件必须与其类名对应,对应规则为:将所有字母都转为小写,将类型和功能调换。

    activity_main.xml

    fragment_homework.xml

    dialog_bluetooth.xml //对话框

    item_message.xml //列表Item

    vw_titlebar.xml //其他布局文件

    布局id

    全部小写,以下划线分割,view缩写_view的逻辑名称

    layout_city、tv_name、btn_submit、img_head、list_message

    图片文件

    全部小写,以下划线分割。

    xxxx_checked.png

    xxxx_focused.png

    xxxx_selected.png

    xxxx_pressed.png

    xxxx_disabled.png

    xxxx_normal.png

    Drawable xml

    selector_xxx、shape_xxx


    四、     注释

    1.        每个类必须有文件头注释。简要说明类的作用,注明作者和创建时间。标准模板:

    /**

     * Filedescription.

     *

     * @author ${USER}

     * @date ${DATE}

     */

    2.        大部分方法都需要方法注释,一些不言自明的方法除外。简要说明方法作用,并解释参数、返回值、抛出异常。方法注释请使用JavaDoc标准。例如:

    /**

    * Description.

    *

    * @param arg1 description

    * @param arg2 description

    * @return description

    * @throws Exception description

    */

    public int getFoo(int arg1, booleanarg2) throws Exception {

       return 0;

    }

    3.        关键逻辑或者较复杂的逻辑处,应该添加必要的注释。单行注释使用”//”,多行注释使用/**/。

    4.        注释必须在程序改变时实时更新。

    5.        简单明了,确保任何程序员都可以读懂。

    五、      其他规范

    1.        所有文件编码格式为UTF-8。

    2.        变量的作用域应该尽量小,需要时才声明,并尽快进行初始化。

    3.        前大括号不要单独占用一行,不要省略单行代码块的大括号。

    正确:

    if (condition) {

        statements;

    }

    错误:

    if (condition)  //没有大括号

    statement;

    错误:

    if (condition)  //前大括号单独占用一行

    {

    statement;

    }

     

    4.        尽量少使用缩写,除非该缩写很常见(Html、Url)

    5.        缩进使用4个空格替代Tab。

    6.        编写代码后必须格式化。AndroidStudio默认格式化快捷键:Ctrl+Alt+L。

    7.        在代码中逻辑性代码块的起始、结尾处,都应该加入空行,并在起始处写注释。

    相对独立的程序块之间必须加空行。

    8.        一行代码不超过100字符。超过100字符,请换行或者提取变量。

    9.        方法体不超过40行。若超过,则应考虑拆分成多个方法。

    10.    尽量避免使用枚举类,使用常量代替。

    11.    只要是合法的,就把@Override注解给用上。

    12.    规范TODO使用,加上日期和描述,并及时解决删除。AndroidStudio中可以敲todo来使用标准模板。例如:

    // TODO: 2017/1/5简单描述

    13.    采用统一的LogUtils来输出Log。输出的Log要简明扼要。充足的log可以便于定位错误,但Log太多会影响程序性能(I/O耗时)。正式版本应该关闭Log开关。

    14.    Java文件中不允许有多余的import,不允许importjava.io. *

    15.    Warning要解决。

    16.    不允许硬编码,状态值必须定义常量,并添加注释。

    配置CodeStyle

    Android Studio统一配置

     

    1.   配置CodeStyle

    按照上图标注顺序,导入AndroidCodeStyle.xml文件。

    2.   工程文件编码统一为UTF-8

     

    3.   注释模板

    注意:请将${USER}修改为自己的名称,模板前后不要有多余的空格与换行符。

    /**

     * File description.

     *

     * @author ${USER}

     * @date ${DATE}

     */

    4.   安装使用CheckStyle插件

     

    安装完成后,重启AndroidStudio。然后添加CheckStyle脚本:

     

    配置实时检查

     

    使用方法简介:

    -        配置好实时检查后,在编辑器中,不符合风格的代码会直接出现警告:

     

     

     

     

    -        在Java文件中右键,点击如图选项,即可查看当前文件所有不符合风格的代码段:

  • 相关阅读:
    Linux命令权限 用户权限 组权限 文件、目录权限
    Linux基础命令
    Linux之centos7 VMware安装教程
    Python 输入输出 数据类型 变量
    操作系统和网络基础
    python之禅
    【Linux】Linux 在线安装yum
    【Linux】TFTP & NFS 服务器配置
    【读书笔记】如何高效学习(Learn More ,Study Less)
    【Linux】Windows与Linux之间的文件共享(基于网络)
  • 原文地址:https://www.cnblogs.com/wangfeng520/p/6385827.html
Copyright © 2011-2022 走看看