Java编码规范条目分类列表

合集下载

Java编码规范

Java编码规范

Java编码规范V1.00. 规范的规范1. 本规范的每一条目必须无二义性,并且可执行,否则作废。

2. 本规范的条目分为两个级别:o规则-Ro建议-S3. 本规范所有的“规则”条目必须被遵守。

1. 代码格式1. R-使用统一的Eclipse 的代码格式:2. S-非Eclipse 用户请阅读上述XML 代码自行遵守。

2. 命名2.1 包1. R-包名必须全部小写,2个以内单词,最好为1个单数名词。

2. R-所有项目的包要以“cn.kuwo”为父包。

2.2 类和接口1. S-最好为名词。

2. R-命名类和接口时,需要将所有单词的首字母大写。

3. R-接口的命名不采用首字母为I或加上IF后缀的命名方式。

例如:IBookDao、BookDaoIF等。

4. R-异常类应该使用Exception做为名称后缀。

5. S-如果是运行一次就抛弃的类,以ing结尾,比如Rendering。

6. R-类名尽量短,但是最好不要缩写,如果缩写,必须为特别常用的类。

7. R-不要和标准库中的类名冲突,比如Class, Object, String等8. S-以下情况可以允许写奇怪类名(名称简短,让人一眼不知道什么意思,用了以后一眼就能知道什么意思)o类特别常用o类非常特殊,难以归类o私有类或内部类o不推荐其他人调用的公有、保护、默认类o起个奇怪的名字,就是不想让你关心这个类的代码9. S-缺省接口实现应该使用Default名称前缀。

例如:DefaultEntityMaker。

o也可以采用Impl 作为后缀,表示这个实现为此接口的最优实现或者唯一实现2.3 变量1. S-最好为名词2. R-第一个单词的首字母小写,其后单词的首字母大写。

变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。

3. R-能private就不要default,能default就不要protected,最好不要public4. R-如果是集合或数组,用复数名词。

java编码规范

java编码规范

1 java代码功能模块结构Src ------java代码com.maptechinc ------公司名costaccount -----子系统名称configuration ------一级功能模块department ------二级功能模块controllerservicedaoentitysqlutil1.1 controller1、必须继承extends AbstractBaseController2、@RequestMapping value取值类级别子系统/一级模块/二级模块方法级别自定3、返回json串responseJsonWriter(response, list, count)responseJsonWriter(response, map)4、异常处理必须throws BusinessException5、不允许模块之间调用java代码6、方法名前缀query、insert、update、delete7、类命名:二级模块+Controller1.2 service1、必须继承extends AbstractBaseService2、异常处理必须throws BusinessException3、不允许模块之间调用java代码4、方法名前缀query、insert、update、delete5、类命名:二级模块+Service6、id哈希码产生器UUID.randomUUID(3).toString()1.3 dao1、方法名前缀query、insert、update、delete2、类命名:二级模块+Dao1.4 sqlNamespace取值dao类全名Select标签id值必须与dao的query前缀方法名一致文件命名:子系统+一级模块+二级模块+Dao+Sql.xml必须以Sql后缀结尾1.5 util不允许模块之间调用java代码,如需要调用第三方在此包中编写2 jsp代码功能模块结构编码设置UTF-8关于类名包名的命名规范:类名首字母必须大写。

java编码规范

java编码规范

JAVA编码规范目录JAVA编码规范 (1)1 概述 (8)1.1范围 (8)1.2说明 (8)2 文件体系结构 (10)2.1文件体系规则 (10)规则2.1.1 JSP文件目录结构 (10)建议2.1.2 Java文件目录结构 (10)2.2源文件结构规则 (11)规则2.2.3 类变量的声明顺序是public,protected,package,private (11)规则2.2.4 变量、常量的注释应放在其上方相邻位置 (12)规则2.2.5 用递增的方式写构造器(比如:参数多的写在后面) (12)规则2.2.6 类变量的存取方法:get和set方法 (12)规则2.2.7 如果定义main() 方法,必须将main方法写在类的底部 (12)3 文件命名规则 (13)规则3.1S TRUCTS配置文件命名............................................... 错误!未定义书签。

规则3.2JSP文件命名 (13)规则3.3J AVA文件命名 (13)4 排版规则 (14)4.1语句排版规则 (14)规则4.2.1简单语句每行至多包含一条语句 (14)规则4.2.2 复合语句被括其中的语句缩进一个层次 (14)规则4.2.3 左大括号"{"应位于复合语句起始行的行尾,前面需加一个空格符;右大括号"}"应另起一行并与复合语句首行对齐。

(14)规则4.2.4 必须用"{"和"}"将if内的语句括起来。

(即使只有一条语句的情况下) (14)规则4.2.7 在多层嵌套的for语句中,应在for上一行增加逻辑注释 (15)建议4.2.14 “=”等比较符前后加一个空格 (15)5 注释规则 (16)5.1类注释规则 (16)规则5.1.1 使用JavaDoc,列出功能、版本信息、日期、作者和版权声明 (16)规则5.1.2 如果对文件进行了修改,必须说明修改目的、修改日期、修改人,并变更版本信息 (16)5.2类方法注释规则................................................................. 错误!未定义书签。

Java编码规范整理汇总

Java编码规范整理汇总

Java编码规范整理汇总在Java的⼊门过程中,我们⾸先要养成⼀个良好的编写代码习惯。

那么,了解清楚Java的编码规范就显得尤为必要了。

编码格式不仅仅是美不美观的问题。

这⾥我们可以试想⼀下,如果在Java开发中编码不规范,容易出现bug不说,⽽且后续还难以维护。

因此,遵守编码规范可以让代码的风格好像是⼀个⼈写出来的,即使是有很多⼈参与这个开发项⽬。

1、源⽂件基础源⽂件以其最顶层的类名来命名,⼤⼩写敏感,⽂件扩展名为 .java。

源⽂件编码格式为UTF-8。

除了⾏结束符序列,ASCII⽔平空格字符(0x20,即空格)是源⽂件中唯⼀允许出现的空⽩字符,这意味着所有其它字符串中的空⽩字符都要进⾏转义;制表符不⽤于缩进。

对于具有特殊转义序列的任何字符(\b, \t, \n, \f, \r, ", '及),我们使⽤它的转义序列,⽽不是相应的⼋进制(⽐如 \012)或Unicode(⽐如\u000a)转义。

对于剩余的⾮ASCII字符,是使⽤实际的Unicode字符(⽐如∞),还是使⽤等价的Unicode转义符(⽐如\u221e),取决于哪个能让代码更易于阅读和理解。

2、源⽂件结构⼀个源⽂件包含(按顺序地):许可证或版权信息;package语句;import语句;⼀个顶级类。

以上每个部分之间⽤⼀个空⾏隔开。

如果⼀个⽂件包含许可证或版权信息,那么它应当被放在⽂件最前⾯。

package语句不换⾏,列限制(4.4节)并不适⽤于package语句。

import不要使⽤通配符,不要换⾏。

3、格式⼤括号与 if,else,for,do,while语句⼀起使⽤,即使只有⼀条语句(或是空),也应该把⼤括号写上。

对于⾮空块和块状结构,⼤括号遵循Kernighan和Ritchie风格,左⼤括号前不换⾏;左⼤括号后换⾏;右⼤括号前换⾏;如果右⼤括号是⼀个语句、函数体或类的终⽌,则右⼤括号后换⾏; 否则不换⾏。

例如,如果右⼤括号后⾯是else或逗号,则不换⾏。

Java编码规范条目分类列

Java编码规范条目分类列

2.1.1排版个,不允许使用缩进。

2.1.2排版括号右,多个参数之间,二元运算符左右,for语句表达式之间用空格隔开。

2.1.3排版单行长度不超过120个字符,多于120个字符进行换行,操作符放在新行之首,新行要进行8个字符的缩进。

2.1.4排版不允许把多个短语句写在一行中,即一行只写一条语句。

2.1.5排版if、for、do、while、case、switch、default等语句自占一行,且if、for 、do、while等语句的执行语句部分无论多少都要加括号{}。

2.1.6排版相对独立的程序块之间、变量说明之后必须加空行。

2.2.1排版类属性和类方法不要交叉放置,不同存取范围的属性或者方法也尽量不要交叉放置。

3.1.1注释为包编写文档注释。

3.1.2注释提供文件注释,列出:版权说明、版本号、生成日期、作者、模块目的、功能、修改日志等信息。

文件注释应放在package之前。

3.1.3注释类注释放在class 或者 interface 关键字之前,import 关键字之后。

注释使用“/** */”注释方式。

3.1.4注释类属性(成员变量)、公有和保护方法注释:写在类属性、公有和保护方法上面,注释方式为“/** */”。

3.1.5注释公有和保护方法注释内容:列出方法的一句话功能简述、功能详细描述、输入参数、输出参数、返回值、异常等。

3.1.6注释对于方法内部用throw语句抛出的异常,必须在方法的注释中标明,对于所调用的其他方法所抛出的异常,选择主要的在注释中说明。

对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中3.1.7注释注释应与其描述的代码相近,对代码的注释应放在其上方,并与其上面的代码用空行隔开,注释与所描述内容进行同样的缩排。

3.1.9注释注释的内容要清楚、明了,含义准确,防止注释二义性。

3.1.11注释对重载父类的方法必须进行@Override声明3.2.1注释一般情况下,源程序有效注释量必须在20%以上。

java编码规则

java编码规则

java编码规则【实用版】目录1.Java 编码规范概述2.Java 编码规则详解2.1 命名规范2.2 注释规范2.3 代码格式化2.4 控制结构2.5 数据类型及操作2.6 异常处理2.7 类与对象2.8 接口与继承2.9 泛型2.10 集合框架2.11 多线程正文【提纲】详解1.Java 编码规范概述Java 编码规范,顾名思义,是指在编写 Java 程序时遵循的一系列规则和约定。

这些规范旨在提高代码的可读性、可维护性和可扩展性,帮助开发者编写出高质量的 Java 代码。

Java 编码规范主要涵盖了命名规范、注释规范、代码格式化、控制结构、数据类型及操作、异常处理、类与对象、接口与继承、泛型、集合框架和多线程等方面。

2.Java 编码规则详解2.1 命名规范Java 命名规范主要包括以下几方面:- 类名、接口名和枚举常量名应使用驼峰命名法,即每个单词的首字母大写,除第一个单词外。

- 方法名和变量名应使用驼峰命名法,但第一个单词的首字母小写。

- 常量名应使用大写字母和下划线组合。

- 注释名应以双斜杠(//)开头。

2.2 注释规范注释是程序员对代码的解释和说明,有助于提高代码的可读性。

Java 注释规范要求:- 单行注释以双斜杠(//)开头。

- 多行注释以斜杠星号(/*)开头,以星号斜杠(*/)结尾。

- 注释应简洁明了,避免过多冗余。

2.3 代码格式化代码格式化是指按照一定的风格对代码进行排版,以提高代码的可读性。

Java 代码格式化要求:- 每行代码的长度不超过 80 个字符。

- 语句之间留有空格,以提高可读性。

- 适当的换行和缩进,使代码结构更清晰。

2.4 控制结构Java 控制结构包括条件语句、循环语句和分支语句等。

控制结构应简洁明了,避免过于复杂的逻辑。

2.5 数据类型及操作Java 数据类型包括基本数据类型和引用数据类型。

数据类型操作应遵循以下规范:- 变量应在使用前初始化。

- 避免使用未初始化的变量。

Java编码规范

目录1、规范说明 (2)1.1)文档状态 (2)1.2)规范简介 (2)2、命名规则 (2)2.1)一般的命名规则 (2)2.2)标识符命名 (2)3、文档注释 (4)3.1)注释原则 (4)3.2)注释类型表 (5)3.3)注释规则表 (5)3.4)Javadoc规则 (6)4、JAVA文件样式 (7)5、代码编写格式 (11)6、程序规范 (13)6.1)保证程序的健壮性(必须做的) (13)6.2)提高代码效率的做法(尽量做的) (16)6.3)其他要注意的做法(推荐做的) (17)7、JSP补充规范 (19)7.1)程序代码规范 (19)7.2)文件命名和路径存放 (19)7.3)编码注意事项 (19)8、日志和调试信息 (20)8.1)为什么要使用调试信息和日志 (20)8.2)使用Log4j进行日志操作 (20)1、规范说明1.1)文档状态本版本:V ersion1.0 Java编码规范.doc分发:公司研发部可以不受任何限制地分发1.2)规范简介简介:本标准描述了所有基本Java编程应该遵循的规范,涉及到命名规则、代码格式及编程规则(建议)。

这里“基本Java编程”指的是编写Java Beans,Applet,Application,Servlet,JSP,EJB 中的Class,Interface等。

相应的辅助编程标准(如:EJB编程规范)请阅读其它编程标准。

为什么要制定规范?所有的程序开发手册都包含了各种规则。

一些习惯自由程序人员可能对这些规则很不适应,但是在多个开发人员共同写作的情况下,这些规则是必需的。

这不仅仅是为了开发效率来考虑,而且也是为了后期维护考虑。

定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。

(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)适用范围:本规范使用公司内部使用Java语言进行开发的过程。

Java代码编码规范


CodeConventions.代码格式化样式,请分别使用“codeformatter.xml”和“ codetemplates.xml”。 在导入这两个文件到Eclipse中之前,请首先修改“codetemplates.xml”文件,替换其中“ Yourname”为代码作者的名字(即:你的名字),从而明确代码的责任和贡献。
编号 1 2 3 4
5
6 7 8
9
10
11
12 13
14 15 16
17
代码编写规范基本内容 新增代码包名全部由小写的单词或缩写组成,包名前缀com.zznode,后续包名以子系统开始,如 com.zznode.ipnm.fm,更下一级包名由设计决定. 配置文件均采用XML文件,因应国际化要求,均采用UTF-8字符集.服务器端配置文件均置于 E2E_HOME相对目录下,以子系统名为子目录,如$E2E_HOME/fm.一个配置文件只能出现一次文件打 开读取代码,不允许多处打开关闭. 服务器端日志信息、控制台打印信息均采用基于log4j的e2elog, 按照log4j把信息类别分重要级 别,配置文件为log4j.xml. 国际化为本系统的既定原则,采用i18n规范,所有子系统、代码、配置文件均需要遵守,所有字符 串,配置文件均采用UTF-8字符集.用户界面上的国际化采用struts1.2的方式进行;服务器后台的 日志内容,全部都使用英文输出. 类名由大写字母开头的单词或缩写组成,禁用下划线; static final 常量的名字应该都大写,并且指出完整含义,单词之间用下划线分隔(惯用用法除 外); 初始化变量时,应集中在一起,尤其是static类型; 变量名称应符合见名知义的原则,且首单词首字母小写,其它单词首字母大写,不推荐使用下划线; 原则上,局部变量不允许与成员变量重名;如有重名,成员变量应以“this.”为前缀修饰; 方法名称应以小写动词开头,后面的单词符合首字母大写的规定; 方法名称中的动词要符合成对使用的习惯,如get/set,add/remove等 异常信息必须带有详细的错误码。异常Message分两段组成:概要信息和详细信息.一个Exception java类有唯一的概要信息,以该异常类抛出异常时,组织详细的异常信息.如ClassCastException: uniregister.EJBClient; 按照 Javadoc 要求的风格为包、类、变量等写注释,包括 private 变量、函数。对方法进行注释 时,必须标明参数、返回值、异常等信息.Javadoc注释采用中文编写. 单行注释不要写在语句的结尾,而应写在语句的上一行; 暂时不用但又不宜删除的代码,用批量注释符号注释:/* „ */(注意:不是 /** „ */); 10行代码以内应至少有一句行注释.("{","}"不计为代码行); 方法之间,应该有空行分隔; 10行以上密集代码必须有空行,并加行注释; 块逻辑结束处必须有空行; 一个文件不能太长(不要超过2000行); 一个函数保持在50行以内,不要超过100行. 代码简单明了,能用for,就不用while, 千万别用do while和goto; 通常用“i, j, k”作循环变 量. 确实需要代码嵌套的就用for 吧,注释要清楚了,不要出现如if,if,if,if,while,while, switch,switch.的层层嵌套; switch case中,原则上每个case要执行的内容超过5行时以私有函数封装替代; 在循环语句中,从性能角度不得出现类似于“for (int i = 0; i < list.size(); i++)”的情况; 公有重要功能类必须有单元测试代码, 单元测试的类的命名规则为: com.zznode.e2e.log.LogClient,并相对于src目录,放在test目录中。 所有公有类的公有函数均需要覆盖单元测试,要嘛就用private; 不是主程序,不要出现main函数,如果需要,写在单元测试代码中去。 时刻牢记面向接口编程,能返回接口类型的不要返回强约束类; 在用到外部包时用import 导入,不得出现类似于“java.util.List listData ”的情况 数据库访问考虑数据库类型无关,该配置的就通过配置文件配吧,别写死了; 采用标准的SQL语句,非标准SQL需要详细注释; 写数据考虑用PrepareStatement替代Statement, 不能替代的,说明理由;取值时用索引顺序,而不 是字段名称; 使用集合类型时要慎重选择,List,Map,Set,都是很占用内存的,作为成员变量时要考虑该类对象的 数据量,能用LinkedList就别用ArrayList,因为前者内存是缓慢增长; 返回值类型应尽量用接口类,如返回 Map,而不是HashMap; 返回值千万不要是null, 返回Collections.EMPTY_LIST代替。 慎重使用递归算法. 遵守业界推行的编码规范,如:Sun Microsystem的“Java Code Conventions”(请参考文件“ CodeConventions.pdf”)。

java编码表GBK、GB2312与UTF

java编码表GBK、GB2312与UTF展开全文GBK、GB2312与UTF-8的区别?一,先说下三者各自的定义。

UTF-8:Unicode Transformation Format-8bit,允许含BOM,但通常不含BOM。

是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。

UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。

如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。

GBK:是国家标准GB2312基础上扩容后兼容GB2312的标准。

除了兼容GB2312外,它还能显示繁体中文,还有日文的假名该编码共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库。

GBK为了区分中文,将其最高位都设定成1。

既一个中文两个字节的第一个字节为负数。

GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBD大。

GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码;GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换:二,通过实例来说明。

GBK、GB2312与UTF-8对中文编码时分别使用多少个字节如对"aA你"进行编码编码 a A 你GB2312:97,65,-60,-29,GBK: 97,65,-60,-29,UTF-8: 97,65,-28,-67,-96,通过上面可以看出:GBK、GB2312与UTF-8对英文字母都是用1一个字节表示,对汉语:GB2312:2字节通常第一个字节都是负数GBK: 2字节通常第一个字节都是负数UTF-8: 3字节一般GBK、GB2312的两个字节都为负数,但是对一些不常见的汉字会有例外。

Java编码规范

...
} 特殊代码注释
代码质量不高但能正常运行,或者还没有实现的代码用//TODO: 声明 存在错误隐患的代码用//FIXME:声明
4. 编程规范(Programming Conventions)
基本规范
当API会面对不可知的调用者时,方法需要对输入参数进行 校验,如不符合则抛出IllegalArgumentException,建议使用 Spring的Assert系列函数。 代码中不能使用System.out.println(),e.printStackTrace(),必 须使用logger打印信息。 变量,参数和返回值定义尽量基于接口而不是具体实现类, 如Map map = new HashMap(); 用double而不是float 隐藏工具类的构造器,确保只有static方法和变量的类不能被 构造实例。 在数组中的元素(如String [1]),如果不再使用需要设为 NULL,直接用Collections类 而不是数组。 尽量使用protected 而不是 private,方便子类重载。
规范等级说明
级别I: 默认级别,要求所有项目中的所有成员遵守。 级别II: 建议所有项目中的所有成员遵守。 级别III: 鼓励各个项目根据实际情况执行。
参考资料
2. 格式与命名规范(Formating and Naming Conventions)
缩进
使用Tab缩进,而不是空格键--将缩进2,4,8字符的选择权留给阅 读者。
声明
修饰符应该按照如下顺序排列:public, protected, private, abstract, static, final, synchronized。 类与接口的声明顺序(可用Eclipse的source->sort members功能自 动排列): 1. 静态成员变量 / Static Fields 2. 静态初始化块 / Static Initializers 3. 成员变量 / Fields 4. 初始化块 / Initializers 5. 构造器 / Constructors 6. 静态成员方法 / Static Methods 7. 成员方法 / Methods 8. 重载自Object的方法如toString(), hashCode() 和main方法 9. 类型(内部类) / Types(Inner Classes) 同等的类型,按public, protected, private的顺序排列。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.1.1排版2.1.2排版2.1.3排版2.1.4排版2.1.5排版2.1.6排版2.2.1排版3.1.1注释3.1.2注释3.1.3注释3.1.4注释3.1.5注释3.1.6注释3.1.7注释3.1.8注释3.1.9注释3.1.10注释3.1.11注释3.2.1注释3.2.2注释3.2.3注释3.2.4注释3.2.5注释3.2.6注释3.2.7注释4.1.1命名4.1.2命名4.1.3命名4.1.4命名4.1.5命名4.1.6命名4.1.7命名4.2.1命名4.2.2命名4.2.3命名4.2.4命名4.2.5命名4.2.6命名5.1.1性能及可靠性5.2.1其它6.1.1性能及可靠性6.1.2性能及可靠性6.2.1性能及可靠性6.2.2性能及可靠性6.2.3性能及可靠性6.2.4性能及可靠性6.2.5性能及可靠性6.2.6性能及可靠性6.3.1性能及可靠性6.3.2性能及可靠性6.3.3性能及可靠性6.4.1性能及可靠性6.4.2性能及可靠性6.4.3性能及可靠性6.4.4性能及可靠性6.4.5性能及可靠性6.4.6性能及可靠性6.4.7性能及可靠性6.4.8性能及可靠性6.5.1性能及可靠性6.5.2性能及可靠性6.5.3性能及可靠性6.5.4性能及可靠性6.5.5性能及可靠性6.5.6性能及可靠性6.5.7性能及可靠性6.6.1性能及可靠性6.6.2性能及可靠性6.6.3性能及可靠性7.1规范检查7.2规范检查7.3规范检查7.4规范检查7.5规范检查7.6规范检查Java编码规范分类表码规范文档总的章节编号,具体规范内容和示例请查阅规范文档;和建议两个等级,规则在编码时必须遵守,建议则建议如此做;Bugs可以检测出的现象这里没有罗列,必须依据代码检查7.4进行处理;为开发人员提交代码前必须自我检查项。

括号右,多个参数之间,二元运算符左右,for语句表达式之间用空格隔开。

单行长度不超过120个字符,多于120个字符进行换行,操作符放在新行之首,新行要进行8个字符的缩进。

不允许把多个短语句写在一行中,即一行只写一条语句。

if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。

相对独立的程序块之间、变量说明之后必须加空行。

类属性和类方法不要交叉放置,不同存取范围的属性或者方法也尽量不要交叉放置。

为包编写文档注释。

提供文件注释,列出:版权说明、版本号、生成日期、作者、模块目的、功能、修改日志等信息。

文件注释应放在package之前。

类注释放在class 或者 interface 关键字之前,import 关键字之后。

注释使用“/***/”注释方式。

类属性(成员变量)、公有和保护方法注释:写在类属性、公有和保护方法上面,注释方式为“/** */”。

公有和保护方法注释内容:列出方法的一句话功能简述、功能详细描述、输入参数、输出参数、返回值、异常等。

对于方法内部用throw语句抛出的异常,必须在方法的注释中标明,对于所调用的其他方法所抛出的异常,选择主要的在注释中说明。

对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中标明。

注释应与其描述的代码相近,对代码的注释应放在其上方,并与其上面的代码用空行隔开,注释与所描述内容进行同样的缩排。

修改代码同时修改相应的注释,以保证注释与代码的一致性。

不再有用的注释要删除。

注释的内容要清楚、明了,含义准确,防止注释二义性。

避免在注释中使用缩写,特别是非常用缩写。

对重载父类的方法必须进行@Override声明一般情况下,源程序有效注释量必须在20%以上。

注释语言必须准确、易懂、简洁。

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

对关键变量的定义和分支语句(条件分支、循环语句等)必须编写注释。

注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,建议多使用中文,除非能用非常流利准确的英文表达。

中文注释中需使用中文标点。

方法和类描述的第一句话尽量使用简洁明了的话概括一下功能,然后加以句号。

接下来的部分可以详细描述。

方法内的单行注释使用 //一些复杂的代码需要说明。

使用Html标签使JavaDoc生成更加美观。

类名和接口使用类意义完整的英文描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。

方法名使用意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法。

方法中,存取属性的方法采用setter 和 getter方法,动作方法采用动词和动宾结构。

属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。

属性名不能与方法名相同。

禁止使用魔法数字及字母,用有意义的常量名来替代。

常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 static final 修饰。

数组声明的时候使用 int[] index ,而不要使用 int index[] 。

包名采用域后缀倒置的加上自定义的包名,采用小写字母,都应该以com.suning开头(不包括一些特殊原因)。

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

常用组件类的命名以组件名加上组件类型名结尾。

如果函数名超过15 个字母,可采用以去掉元音字母的方法或者以行业内约定俗成的缩写方式缩写函数名。

准确地确定成员函数的存取控制符号:只是该类内部调用的函数使用 private 属性,继承类可以使用的使用protected属性,同包类可以调用的使用默认属性(不加属性控制符号),对外公开的函数使用public属性。

含有集合意义的属性命名,尽量包含其复数的意义。

使用自动装箱或静态工厂方法valueOf代替包装类构造函数明确方法功能,精确(而不是近似)地实现方法设计。

大量字符串的相加等处理应该使用StringBuilder 或StringBuffer。

预设StringBuilder 或StringBuffer的容量值使用Java 5.0的范型声明集合并使用新循环写法避免在循环条件中使用复杂表达式为ArrayList预估初始化容量数组复制使用System.arraycopy(*)集合中的数据如果不使用了应该及时释放,尤其是可重复使用的集合。

避免在循环中定义句柄。

不要使用 System.out 与 System.err 进行控制台打印IO操作流使用有Buffer功能的class文件等IO操作必须关闭IO对象。

为每个功能使用继承Helper的DAO类。

使用makeConnection()建立数据库连接;使用getPreparedStatement(String sqlStatement)获取SQL预编译对象;使用try/catch捕获NamingException 和SQLException 并重新抛出ECSystemException;在finally中分别使用try-catch关闭ResultSet 和 connection资源;给出要查询的具体列名,不要使用 *使用预编译的PreparedStatement来封装SQL语句使用PreparedStatement的Batch功能如果不对该异常进行处理,则应该记录日志将异常转换为应用异常或系统异常抛出,在抛出新异常时,不需要记录日志,但需要指定正常的异常类型信息数据库操作、IO操作等需要使用结束close()的对象必须在try -catch-finally 的finally中close(),如果有多个对象需要close(),需要分别对每个对象的close()方法进行try-catch,防止一个对象关闭失败其他对象都未关闭。

不要在循环中使用try-catch语句,请将try-catch移到循环外部。

异常捕获尽量catch一个明确的异常类型,不应catch(Exception ex).try尽量少的代码,如果有必要可以使用多个try-catch块。

尽量避免一个方法中一个大的try块,catch一个Exception的代码方式建议,在异常类型同属一个父异常,并且捕捉后处理方式一致时,可以在try-catch块中合并一些catch使用统一的日志工具类写日志使用正确的日志级别:为command或一些关键方法提供进入和完成日志;提交代码前必须使用source Format进行代码格式化;提交代码前需要使用source - Organize Imports 进行清理。

RAD Warnings提交代码前需要使用FindBugs进行代码检测,如发现bug 必须进行处理;FindBugs发现但不能处理的Bug必须在代码处进行注释,说明原因。

自查CheckList规则CheckStyle 规则CheckStyle规则CheckStyle规则CheckStyle规则CheckStyle规则CheckStyle 建议RAD规则人工规则CheckStyle 规则CheckStyle 规则CheckStyle 规则CheckStyle 规则CheckStyle 规则CheckStyle 规则人工规则人工规则人工规则FindBugs 建议CheckStyle 建议人工建议CheckStyle 建议人工建议人工建议人工建议人工规则CheckStyle规则CheckStyle 规则RAD规则CheckStyle 规则FindBugs 规则CheckStyle 规则FindBugs 建议人工建议CheckStyle 建议人工建议人工建议人工建议人工规则FindBugs 建议人工规则人工规则人工建议人工规则FindBugs 建议人工建议人工建议人工建议人工规则人工建议人工规则FindBugs 建议人工建议人工建议人工规则人工规则人工规则人工规则人工建议人工规则人工规则人工规则人工规则FindBugs 建议人工建议人工建议人工规则人工规则人工规则人工规则人工规则人工规则人工规则人工规则人工规则人工。

相关文档
最新文档