android java 代码规范_Android 编码规范及代码风格

一、常见的命名规范

1、Pascal命法:

每个单词的首字母大写。 如:PersonName、SchoolName

2、Camel命名法:

第一个单词的首字母小写,其余单词的首字母大写。如:personName、schoolName

3、匈牙利命名法:

变量名=属性+类型+对象描述。 如:m_intMaxDate

属性:全局变量(g_)、常量(c_)、成员变量(m_)、静态变量(s_)

类型:函数(fn)、句柄(hand)、长整型(long)、布尔(bool)、浮点型(float)、双字(dw)、字符串(str)、双精度浮点(double)、计数(count)、字符(char)、整型(int)、字节(byte)

描述:最大(Max)、最小(Min)、初始化(Init)、临时变量(T/Temp)、源对象(Src)、目的对象(Dest)

4、下划线命名法:

所有字母均小写,每个单词间以下划线分割。如:person_name

二、命名规范的运用

1、包名全部小写 package istg.tolo.common

2、文件命名(即类名) Pascal命名

(1)普通类(Pascal命名法)

public class SomeClass{

public SomeMethod(){}    //构造函数

}

(2)自定义属性类(后缀使用Attribute)

public class BussinessPlugAuthorAttribute extends Attribute{……}

(3)自定义异常类(后缀使用Exception)

public class BussinessException extends Exception{……}

(4)泛型中的类型传递

public class LinkedList{……}

3、方法名(动宾短语,如:eatFood,而不是Food)

public class SomeClass{

public SomeClass(){};    //Pascal命名用于构造函数

public void someClassMethod(){……};    //Camel命名用于普通函数

}

4、接口命名(后缀命名法)

接口文件及名称定义:Review、ReviewListener

事件接口定义:OnClickListener

5、变量命名

私有成员变量(类变量):前缀m+Pascal命名法,如:private String mMyName

私有成员变量(类变量)(优化):Camel命名法,如:private String myName

静态成员变量:前缀s+Pascal命名法,如:static String sMyName

局部变量:Camel命名法,如:String resolvedType = null;

局部变量(优化):前缀_+Pascal命名法,如:String _ResovledType = null;

方法内参数:Camel命名法,如:eatFood (IntentSender intent, int requestCode){……}

方法内参数(优化):前缀p+Pascal命名法,如:eatFood (IntentSender pIntent, int pRequestCode){……}

循环中的变量:可以使用缩写字母,无意义字母,如:for(i=0;i

三、命名格式化

1、严格换行

一个;一换行

2、严格缩进

使用Tab缩进

注释缩进和代码缩进对齐

3、严格注释

文件,类,方法,方法函数,变量,属性,都要注释

文件和类的注释一定要包含如下元素:Name, Description, Version, Date, Author, Change, Copyright

遵循JavaDoc标准,如:

/**

*

*/

//这是我的名称

private String mName;

4、声明的位置

(1)将所有的框架定义的命名空间为一组,自定义的和第三方的命名空间放在另一组

(2)类成员变量声明位置

所有的成员变量都应该声明在顶部,同时使用一个空行来将它们和属性方法分开。如:

public class myClass{

int mNumber;

String mName;

public void someMethod(){……}

}

(3)局部变量声明位置

局部变量放到方法顶部

5、使用Java预定义的类型而不使用类名来声明变量

使用预定义的类型(关键词)而不使用类名来声明变量,如:

使用 object 而不是 Object

使用 int 而不是 Int32

四、规范的代码实例

/**

* 学生管理Activity类

* @author jiatao

* @date 2015-4-25

* @company zkr

version : 1.0 

*/

package mobidever.demo.students;

import android.app.Activity;

import android.os.Bundle;

import android.widget.Toast;

/**

* 学生管理类

* @author jiatao

* @date 2015-4-25

* @since level 8 (android 2.0)

* @version 1.0

*/

public class StudentManageActivity extends Activity {

//定义的学生私有对象

private Object mStudent;

//静态的学生变量定义

private static Object sStudent;

/**

* CLASS_ONE 一班的常量定义

*/

private final String CLASS_ONE = "class1";

private final String MESSAGE_WARN = "你输入的内容不正确,请重新输入";

/**

* 得到学生信息

* @return 得到学生信息

*/

public Object getmStudent() {

return mStudent;

}

/**

* 设置学生信息

* @param mStudent 具体的学生信息值

*/

public void setmStudent(Object mStudent) {

this.mStudent = mStudent;

}

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

//调用初始化界面的函数

initDisplay();

//调用班级学生计算函数,得到class1班的学生数量

this.calculateStudentsCount(CLASS_ONE);

Toast.makeText(this, MESSAGE_WARN, 3000).show();

}

/**

* 根据班级计算学生数量

* @param pClassName 班级名称

* @return 返回班级所属学生数量

* @author jiatao

* @date 2015-4-25

* @version 1.0

*

* 加入了对男女生的判断

* @author xuexing

* @date 2015-4-26

* @version 1.1

*/

public int calculateStudentsCount(String pClassName){

int _StudentCount = 5; //方法内局部变量

//  pStudentCount = 12;  //方法内的参数变量

//  mStudentCount = 13;  //类成员变量

return _StudentCount;

}

/**

* 初始化界面

*/

public void initDisplay(){

}

}

你可能感兴趣的:(android,java,代码规范)