android代码规范和studio配置CodeStyle

枕上从妨一夜睡,灯前读尽十年诗。这篇文章主要讲述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
android代码规范和studio配置CodeStyle

文章图片
 
按照上图标注顺序,导入AndroidCodeStyle.xml文件。
2.      工程文件编码统一为UTF-8 
 
 
android代码规范和studio配置CodeStyle

文章图片

3.      注释模板
android代码规范和studio配置CodeStyle

文章图片
 
 
注意:请将${USER}修改为自己的名称,模板前后不要有多余的空格与换行符。
/**
  * File description.
  *
  * @author ${USER}
  * @date ${DATE}
  */
 
 
4.      安装使用CheckStyle插件
android代码规范和studio配置CodeStyle

文章图片
 
 
 
安装完成后,重启AndroidStudio。然后添加CheckStyle脚本:
android代码规范和studio配置CodeStyle

文章图片

 
 
 
 
 
配置实时检查
android代码规范和studio配置CodeStyle

文章图片

 
 
使用方法简介:
-                配置好实时检查后,在编辑器中,不符合风格的代码会直接出现警告:
 
 
 
 
【android代码规范和studio配置CodeStyle】-                在Java文件中右键,点击如图选项,即可查看当前文件所有不符合风格的代码段:


    推荐阅读