Java编码规范
2017-05-05 16:36
155 查看
偶尔整理了一下Java编码规范,复习一下还是很有用处的。不足的地方以后再补充吧。
分界符:t“{”与“}”各占一行且必须处于同一列,同时与引用他们的语句左对齐。在函数体的开始、类和接口的定义,以及if、for、do、while、switch、case语句中采用如上的缩进方式。
if,for,do,while,case,switch,default占一行,且if,do,while等语句的执行语句无论多少都要加括号{}
相对对立的程序块之间必须加上空行
在两个以上的关键字,变量,常量进行对等的操作时,他们的操作符之前,之后或前后都要加空格
(1)逗号,分号只在后面加空格
(2)比较操作符 ,赋值操作符,算数操作符,逻辑操作符,位操作符等双目操作符前后加上空格
“.”前后不加空格
文件注释内容:
类和接口的注释:
/**
*一句话功能描述:
*功能详细描述
*@author [作者]
*@version[版本号,YYY-MM-DD]
*@since [产品]
*@deprecated
*/
说明:
描述部分为类或接口的功能,作用,使用方法和注意事项,@since表示从那个的版本开始有ci此接口或者类,@deprecated表示不推荐使用该类或接口
类属性,公有和保护方法注释,写在类属性,公有和保护方法之前
将注释与其上面的代码用空行隔开
公有和保护方法注释内容:
方法中,存取属性额方法采用setter和getter方法,动作放啊采用动词和动宾结构
get+非布尔属性名()
is+布尔属性名()
set+属性名()
动词+宾语()
常用组建类的命名以组件名加上组件类型名结尾:
数组声明时统一使用int[] index ,不用 int index[]
当一个类有多个构造方法,或者多个同名方法,这些方法按顺序放置在一起,便于阅读
类内方法定义的顺序依次是:公有方法或保护方法>私有方法>getter/setter方法
【推荐】类成员与方法访问控制从严:
1) 如果不允许外部直接通过 new 来创建对象,那么构造方法必须是 private。
2) 工具类不允许有 public 或 default 构造方法。
3) 类非 static 成员变量并且与子类共享,必须是 protected。
4) 类非 static 成员变量并且仅在本类使用,必须是 private。
5) 类 static 成员变量如果仅在本类使用,必须是 private。
6) 若是 static 成员变量,必须考虑是否为 final。
7) 类成员方法只供类内部调用,必须是 private。
8) 类成员方法只对继承类公开,那么限制为 protected。
说明:任何类、方法、参数、变量,严控访问范围。过宽泛的访问范围,不利于模块解耦。
分界符:t“{”与“}”各占一行且必须处于同一列,同时与引用他们的语句左对齐。在函数体的开始、类和接口的定义,以及if、for、do、while、switch、case语句中采用如上的缩进方式。
for(...) { ...//program code } if(...) { ...//program code } void example(void) { ...//program code }
if,for,do,while,case,switch,default占一行,且if,do,while等语句的执行语句无论多少都要加括号{}
if(writeToFile) { writeFileThread.interrupt(); }
相对对立的程序块之间必须加上空行
if(log.getLevel()<LogConfig.getRecordLevel()) { return; } LogWriter writer;
在两个以上的关键字,变量,常量进行对等的操作时,他们的操作符之前,之后或前后都要加空格
(1)逗号,分号只在后面加空格
int a, b, c;
(2)比较操作符 ,赋值操作符,算数操作符,逻辑操作符,位操作符等双目操作符前后加上空格
if(current_tim>=MAX_TIME_VALUE a = b + c a *= 2;
“.”前后不加空格
p,id = pid;
文件注释内容:
/* *文件名:【】 *版权:【】 *描述:xiu'g【】 *修改时间:YYY-MM-DD *修改单号:【】 *修改内容:【】 */
类和接口的注释:
/**
*一句话功能描述:
*功能详细描述
*@author [作者]
*@version[版本号,YYY-MM-DD]
*@since [产品]
*@deprecated
*/
说明:
描述部分为类或接口的功能,作用,使用方法和注意事项,@since表示从那个的版本开始有ci此接口或者类,@deprecated表示不推荐使用该类或接口
类属性,公有和保护方法注释,写在类属性,公有和保护方法之前
/** *注释内容 */ /** *注释内容 */ public void write()
将注释与其上面的代码用空行隔开
//注释 program code one //注释 program code one
公有和保护方法注释内容:
/** *[一句话功能描述] *[功能详细描述] *@param [参数1][参数1说明] *@param [参数2][参数2说明] *@return [返回类型说明] *@exception/throws[违例类型][违例说明] *@see[类,类方法。类成员] *@deprecated */
方法中,存取属性额方法采用setter和getter方法,动作放啊采用动词和动宾结构
get+非布尔属性名()
is+布尔属性名()
set+属性名()
动词+宾语()
public String getType(); public boolean isFinished(); public void setVisible(boolean); public void show(); public void addKeyListener(Listener);
常用组建类的命名以组件名加上组件类型名结尾:
Application类型的,命名以app结尾--MainApp Frame类型的,命名以Frame结尾--TopoFrame Panel类型的,命名以Panel结尾--CreateCircuitPanel
数组声明时统一使用int[] index ,不用 int index[]
当一个类有多个构造方法,或者多个同名方法,这些方法按顺序放置在一起,便于阅读
类内方法定义的顺序依次是:公有方法或保护方法>私有方法>getter/setter方法
【推荐】类成员与方法访问控制从严:
1) 如果不允许外部直接通过 new 来创建对象,那么构造方法必须是 private。
2) 工具类不允许有 public 或 default 构造方法。
3) 类非 static 成员变量并且与子类共享,必须是 protected。
4) 类非 static 成员变量并且仅在本类使用,必须是 private。
5) 类 static 成员变量如果仅在本类使用,必须是 private。
6) 若是 static 成员变量,必须考虑是否为 final。
7) 类成员方法只供类内部调用,必须是 private。
8) 类成员方法只对继承类公开,那么限制为 protected。
说明:任何类、方法、参数、变量,严控访问范围。过宽泛的访问范围,不利于模块解耦。