欢迎来到天天文库
浏览记录
ID:58419058
大小:115.00 KB
页数:7页
时间:2020-05-11
《代码检查规则介绍.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.命名规范Type类型命名规范AbstractClassName抽象类^Abstract.*$
2、^.*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方法名^
3、[a-z][a-zA-Z0-9]*$PackageNamepackage名^[a-z]+(.[a-z][a-z0-9]*)*$ParameterName方法中的参数名^[a-z][a-zA-Z0-9]*$StaticVariableName仅仅是static型的变量(不包括staticfinal型)^[a-z][a-zA-Z0-9]*$TypeName类型(Class或Interface)名^[A-Z][a-zA-Z0-9]*$2.JavaDoc注释类和接口的JavaDoc方法的JavaDoc变量的JavaDoc3.长度限制文件长度:Java文件的行数不能超过某个值,默认值是1500
4、每行长度:每行的字母个数不能超过某个值,默认值是120方法长度:方法的行数不能超过某个值,默认值是150方法的参数个数:方法参数的个数不能超过某个值,默认值是7return语句的数量:方法中return语句的个数不能超过某个值,默认值是21.重复的代码检查内容重复的代码:当相同代码的行数超过某个值时,就认为是重复的代码,默认值是152.多余的不必要的括号{}不必要的圆括号:检查不必要的圆括号”(,)”。例如:if(((((true)))))3.未简化的未被简化的条件表达式:检查过度复杂的条件表达式,例如:(b==true),b
5、
6、true,!false未被简化的布尔返回值:检查未被简化
7、的boolean返回语句,例如:if(valid())returnfalse;elsereturntrue可以简化成:return!valid();4.空白区域(emptyblock)检查{}包含起来的区域是否为空5.空语句(emptystatement)检查是否有空的语句;1.比较equals和hashCode方法:检查一个类是否同时重写了equals和hashCode方法子类在重写hashCode()方法时,要调用父类的hashCode()在实现equals()方法时要使用instanceof操作符要把常量放在equals()方法的左边,例如:“hello”.equals(s),而
8、不是s.equals(“hello”)使用equals()比较对象的引用,而不要使用==或!=2.switch为switch语句提供default标签switch语句的default应该放在最后检查case中是否有break,return,throw或continue语句,确保每次switch只执行一个分支3.Exception限制try-catch的嵌套层次,默认值是3不允许throws某些异常,例如:java.lang.Exception、java.lang.Error、java.lang.RuntimeException和your.package.Exception等从catch
9、语句中抛出一个新的异常时,没有把原来的异常传入新异常中,会导致异常跟踪信息的丢失(把异常作为参数传入自定义的异常处理类)在当前catch语句中,处理被捕获的异常(记录异常;抛出新的异常;处理异常),(项目组:不管有没有进行处理,一定要再次throw出去,重点是指调用平台的异常,不要自己吞下去,以方便平台组用来解决问题)不要捕获NullPointerException,因为捕获了之后会把这个异常屏蔽,可能会引起后续抛出很难分辨的异常开发人员不要抛出NullPointerException,因为大家通常会认为这个异常是JVM抛出的,考虑用IllegalArgumentException代替
10、,这样会更清晰,更像是开发人员发起的异常不要从finally语句返回值1.对Java的异常类的使用:l不允许使用RuntimeException等无法通过类名反应出异常产生原因的异常类l其它如IllegalArgumentException、ClassCastException等能反应出异常原因的异常类也建议再封装成模块自定义的异常类2.异常类体系每个模块的异常基类继承自下面两个类CheckedException:org.sotower.com
此文档下载收益归作者所有