- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
命名规范
Type
类型
命名规范
AbstractClassName
抽象类
^Abstract.*$|^.*Factory$
ConstantName
常量(static , final 字段)
^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$
LocalFinalVariableName
局部的final变量,包括catch中的参数
^[a-z][a-zA-Z0-9]*$
LocalVariableName
局部的非final型的变量,包括catch中的参数
^[a-z][a-zA-Z0-9]*$
MemberName
非static型变量
^[a-z][a-zA-Z0-9]*$
MethodName
方法名
^[a-z][a-zA-Z0-9]*$
PackageName
package名
^[a-z]+(\.[a-z][a-z0-9]*)*$
ParameterName
方法中的参数名
^[a-z][a-zA-Z0-9]*$
StaticVariableName
仅仅是static型的变量(不包括static final型)
^[a-z][a-zA-Z0-9]*$
TypeName
类型(Class或Interface)名
^[A-Z][a-zA-Z0-9]*$
JavaDoc注释
类和接口的JavaDoc
方法的JavaDoc
变量的JavaDoc
长度限制
文件长度:Java文件的行数不能超过某个值,默认值是1500
每行长度:每行的字母个数不能超过某个值,默认值是120
方法长度:方法的行数不能超过某个值,默认值是150
方法的参数个数:方法参数的个数不能超过某个值,默认值是7
return 语句的数量:方法中return语句的个数不能超过某个值,默认值是2
重复的代码
检查内容重复的代码:当相同代码的行数超过某个值时,就认为是重复的代码,默认值是15
多余的
不必要的括号{}
不必要的圆括号:检查不必要的圆括号”(,)”。 例如:if(((((true)))))
未简化的
未被简化的条件表达式:检查过度复杂的条件表达式,例如: (b == true), b || true,!false
未被简化的布尔返回值:检查未被简化的boolean返回语句,例如:
if (valid())
return false;
else
return true
可以简化成:
return !valid();
空白区域(empty block)
检查{}包含起来的区域是否为空
空语句(empty statement)
检查是否有空的语句 ;
比较
equals和hashCode方法:检查一个类是否同时重写了equals和hashCode方法
子类在重写hashCode()方法时,要调用父类的hashCode()
在实现equals()方法时要使用instanceof操作符
要把常量放在equals()方法的左边,例如:“hello”.equals(s),而不是s.equals(“hello”)
使用equals()比较对象的引用,而不要使用==或!=
switch
为switch语句提供default标签
switch语句的default应该放在最后
检查case中是否有 break,return ,throw 或 continue语句,确保每次switch只执行一个分支
Exception
限制 try-catch 的嵌套层次,默认值是3
不允许throws某些异常,例如:java.lang.Exception、java.lang.Error、java.lang.RuntimeException和your.package.Exception等
从catch语句中抛出一个新的异常时,没有把原来的异常传入新异常中,会导致异常跟踪信息的丢失(把异常作为参数传入自定义的异常处理类)
在当前catch语句中, 处理被捕获的异常(记录异常;抛出新的异常;处理异常), (项目组:不管有没有进行处理,一定要再次throw出去,重点是指调用平台的异常,不要自己吞下去,以方便平台组用来解决问题)
不要捕获NullPointerException,因为捕获了之后会把这个异常屏蔽,可能会引起后续抛出很难分辨的异常
开发人员不要抛出NullPointerException,因为大家通常会认为这个异常是JVM抛出的,考虑用IllegalArgumentException代替,这样会更清晰,更像是开发人员发起的异常
不要从finally语句返回值
对Java的异常类的使用:
不允许使用RuntimeException等无法通过类名反应出异常产生原因的异常类
其它如IllegalArgumentExcept
文档评论(0)