华为JAVA编码规范

发布时间 : 星期四 文章华为JAVA编码规范更新完毕开始阅读

密级:内部公开

DKBAX-2001.12

1. 程序块采用缩进风格,空格为4个.

说明:

对于开发工具自动生成的代码可以不一致

2. 分界符(如大括号{和})应各自占一行并且在同一列,同时与引用它们的语句左对齐,在方法的开始,类和接口的定义,以及if,for,do,while,switch,case语句都要采用上述缩进

说明: for(…) {

…//your code }

3. 较长(>80字符)的语句,表达式和参数要分多行,长表达式要在低优先级操作符划分新行,操作符放在行首,新行要适当缩进,整齐,语句可读.

说明:

if(filename != null

&& new File(logPath+filename).length() < logConfig.getFileSize()) {

…//your code }

4. 一行只写一条语句 说明:

LogFilename wow = null; LogFilename that = null;

5. if,for,do,switch,while,case,default各占一行,它们的执行语句无论多少都要加{} 说明:

if(writeToFile) {

writeFileThread.interrupt(); }

6. 相对独立的程序块,变量,说明要加空行 说明:

if(log.getLevel() < log.getRecord()) {

return ; }

//空行

1

密级:内部公开

DKBAX-2001.12

LogWrite writer;

7. 对齐只用空格键,不用TAB键 说明:

以免使用不同的编辑器阅读程序时,因TAB键所设置的空格数不同而造成程序布局不整齐,JBuildr,UltraEdit等编辑环境,支持行首TAB替换成空格,应将该选项打开

8. 两个以上的关键字,变量,常量进行对等操作时,操作符之前,之后或前后要加空格,进行非对等操作时,如果是关系密切的立即操作符,后面不加空格(如.操作符) 说明:

采用这种松散方式编写代码目的是让程序更加清晰,由于空格所产生的清晰性是相对的,所以在已经很清晰的语句中没有必要留空格,如果语句已足够清晰,则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为java中括号已经是很清晰的标志了.在长句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部中不加空格,给操作符留空格时不要连续留两个以上空格

9. 类属性和方法不要交叉放置,不同存取范围的属性和方法也不要交叉放置 说明:

类定义:{

类公有属性定义; 类保护属性定义; 类私有属性定义; 类公有方法定义; 类保护方法定义; 类私有方法定义;

}

10. 源程序的有效注释量必须在30%以上

11. 包的注释写入一个名为package.html的html格式的说明文件放入当前路径

12. 包的注释内容:本包作用,详细描述本包内容,产品模块名称及版本,公司版本 说明:

一句话描述

详细描述

产品模块


公司版本信息

2

密级:内部公开

DKBAX-2001.12

13. 文件注释:写入文件头部,包名之前

14. 文件注释内容:版本说明,描述信息,修改历史,生成日期 说明: /*

*文件名 *版权 *描述 *修改人 *修改时间 *修改内容 *跟踪单号 *修改单号 */

15. 类和接口注释:放在package注释之后,class或interface之前

16. 类和接口注释内容:类的注释要一句话功能描述,功能详细描述 说明: /**

*<一句话功能简述> *<功能详细描述> *@author *@version

*@see [相关类/方法] *@since [产品/模块版本]

*@deprecated (表示不建议使用该类或者接口)

17. 类属性,公有和保护方法注释:写在类属性,公有和保护方法上面

18. 成员变量注释内容:成员变量的意义,目的,功能,可能被用到的地方

19. 公有和保护方法注释的内容:方法的一句话功能描述,功能详细描述,输入参数,输出参数,返回值,违例 说明: /**

*@param *@return

*@exception /throws */

20. 对于方法内部用throw抛出的异常,要在方法的注释中标明,对于调用其他方法抛出的异常,选主要的在注释中说明,对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中标明

3

密级:内部公开

DKBAX-2001.12

21. 注释应与描述的代码相近,对代码的注释应放在代码上方或者右方(单行注释)相邻位置,不可放在下面,如放于上方则与上面代码用空行隔开

22. 注释与描述的内容进行同样的缩进

23. 对变量的定义和分支语句,必须加以注释

24. 对于switch下的case语句,如果处理完一个case要进入下一个case,必须在该case处理完,下一个case前加上明确的注释 说明:

这样比较清楚程序编写者的意图,有效防止无故遗漏break语句

25. 边写代码边写注释,修改代码同时修改注释保证代码和注释一致,没用的注释要删除

26. 注释内容要清楚,明了,含义明确,防止二义性

27. 不要在注释中用缩写

说明:除非必要,在使用缩写时或之前,应对缩写进行必要的说明

28. 不要在一行代码或表达式中间加注释

说明:除非必要,不应在代码或表达式中间插入注释,否则容易使代码可理解性变差。

29. 通过对函数,过程,变量,结构的正确命名,以及合理的组织代码,使代码成为自注释的

30. 在代码的功能,意图层次上进行注释,提供有用的,额外的信息

示例.如下注释意义不大。 //如果receiveFlag为真。 If(receiveFlag)

而如下的注释则给出了额外有用的信息。 //如果从连结收到信息 If(receiveFlag)

31. 在代码结束行的右方加注释,以表明程序块的结束

说明:当代码段较长,特别是多重嵌套时,这样做可以使代码更清晰,更便于阅读。

示例:参见如下例子。 If(……) {

program code1

while(index

4

联系合同范文客服:xxxxx#qq.com(#替换为@)