Documentnumber文档编号Confidentialitylevel密级内部公开Documentversion文档版本Total28pages共28页V1.00Java语言编码规范Preparedby拟制Date日期yyyy-mm-ddReviewedby评审人Date日期yyyy-mm-ddApprovedby批准Date日期yyyy-mm-ddJava编码规范.Page2,Total28RevisionRecord修订记录Date日期RevisionVersion修订版本SecNo.修改章节ChangeDescription修改描述Author作者yyyy-mm-ddVx.xxJava编码规范.Page3,Total28TableofContents目录1.范围.......................................................................................................................................42.规范性引用文件.....................................................................................................................43.术语和定义............................................................................................................................44.排版规范................................................................................................................................54.1.规则.......................................................................................................................................54.2.建议.......................................................................................................................................75.注释规范................................................................................................................................85.1.规则.......................................................................................................................................85.2.建议.....................................................................................................................................136.命名规范..............................................................................................................................166.1.规则.....................................................................................................................................166.2.建议.....................................................................................................................................177.编码规范..............................................................................................................................197.1.规则.....................................................................................................................................197.2.建议.....................................................................................................................................228.JTEST规范..........................................................................................................................248.1.规则.....................................................................................................................................248.2.建议.....................................................................................................................................25Java编码规范.Page4,Total281.范围本规范规定了使用Java语言编程时排版、注释、命名、编码和JTEST的规则和建议。本规范适用于使用Java语言编程的产品和项目。2.规范性引用文件下列文件中的条款通过本规范的引用而成为本规范的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本规范。序号编号名称1公司-DKBA1040-2001.12《Java语言编程规范》3.术语和定义规则:编程时强制必须遵守的原则。建议:编程时必须加以考虑的原则。格式:对此规范格式的说明。说明:对此规范或建议进行必要的解释。示例:对此规范或建议从正、反两个方面给出例子。Java编码规范.Page5,Total284.排版规范4.1.规则4.1.1.*程序块要采用缩进风格编写,缩进的空格数为4个。说明:对于由开发工具自动生成的代码可以有不一致。4.1.2.*分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。示例:如下例子不符合规范。for(...){...//programcode}if(...){...//programcode}voidexample_fun(void){...//programcode}应如下书写:for(...){...//programcode}if(...){...//programcode}voidexample_fun(void){...//programcode}4.1.3.*较长的语句、表达式或参数(80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。示例:if(filename!=null&&newFile(logPath+filename).length()LogConfig.getFileSize()){...//programcode}publicstaticLogIteratorread(StringlogType,DatestartTime,DateendTime,intlogLevel,StringuserName,intbufferNum)Java编码规范.Page6,Total284.1.4.*不允许把多个短语句写在一行中,即一行只写一条语句示例:如下例子不符合规范。LogFilenamenow=null;LogFilenamethat=null;应如下书写:LogFilenamenow=null;LogFilenamethat=null;4.1.5.*if,for,do,while,case,switch,default等语句自占一行,且if,for,do,while等语句的执行语句无论多少都要加括号{}。示例:如下例子不符合规范。if(writeToFile)writeFileThread.interrupt();应如下书写:if(writeToFile){writeFileThread.interrupt();}4.1.6.*相对独立的程序块之间、变量说明之后必须加空行。示例:如下例子不符合规范。if(log.getLevel()LogConfig.getRecordLevel()){return;}LogWriterwriter;应如下书写:if(log.getLevel()LogConfig.getRecordLevel()){return;}LogWriterwriter;intindex;4.1.7.*对齐只使用空格键,不使用TAB键。说明:以免用不同的编辑器阅读程序时,因TAB键所设置的空格数目不同而造成程序布局不整齐。JBuilder、UltraEdit等编辑环境,支持行首TAB替换成空格,应将该选项打开。4.1.8.*在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如.),后不应加空格。说明:采用这种松散方式编写代码的目的是使代码更加清晰。Java编码规范.Page7,Total28由于留空格所产生的清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格,如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在Java语言中括号已经是最清晰的标志了。在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。给操作符留空格时不要连续留两个以上空格。示例:(1)逗号、分号只在后面加空格。inta,b,c;(2)比较操作符,赋值操作符=、+=,算术操作符+、%,逻辑操作符&&、&,位域操作符、^等双目操作符的前后加空格。if(current_time=MAX_TIME_VALUE)a=b+c;a*=2;a=b^2;(3)!、~、++、--、&(地址运算符)等单目操作符前后