CheckStyle代码开发规范.docx
文本预览下载声明
一、JavaDoc注释1.类和接口的javadoc添加类和接口的javadoc,指明该类的大体功能2.方法的javadoc添加方法javadoc,并且对参数进行说明二、命名约定检查范围约束的值package名首字母小写,以小写字母,数字组成类型(Class或Interface)名首字母大写,以大写字母,小写字母,数字组成方法名首字母小写,以大写字母,小写字母,数字组成。方法命名需要以动词开头。public void addKeyAttribute(String attribute){}如返回类型为boolean型,则用is开头public boolean isLogin(String username);方法中的参数名首字母小写,以大写字母,小写字母,数字组成常量(static , final 字段)首字母大写,以大写字母,数字,下划线组成。建议每个音节下划线分割,并且有static final资源。private static final String KEY_MODEL_CODE=”code”变量首字母小写,以大写字母,小写字母,数字组成三、Imports1. import中避免星号*避免出现import a.b.*2.没用的import以下几种import是没用/没意义的:没有被用到。重复的。import java.lang的。import 与该类在同一个package的。四、长度限制1. 文件长度文件的行数不超过15002.?每行长度一行的长度不超过120个字母3.?方法长度一个方法最多的行数为50行,不包括空白和注释4.?方法的参数个数方法的参数不超过5个五、关键字1.?关键字的出现顺序每个关键字都有正确的出现顺序。比如 public static final XXX 是对一个常量的声明。如果使用 static public final 就是错误的。六、对区域(empty block)的检查1.?空白区域只要是{} 包含起来的,都是区域。比如if , else, catch 后面紧跟的,都是区域。不允许后面有空格,减少文件大小2.?需要括号的区域比如,只有一条语句的 if ,对于大括号是可用可不用的if(condition) a= 0; 应该用{},养成良好的编码习惯3.?不必要的括号比如,这样的代码是可以通过编译,但是风格很差的:public void guessTheOutput(){ int whichIsWich = 0; { int whichIsWhich = 2; } System.out.println(value = + whichIsWhich);}七、编码的检查1.?字符串(String)的比较检查字符串的比较时没有使用 == 或!=。2. 不合理的throws方法抛出异常时,不要使用不能throws java.lang.Exception,要明确抛出的异常。3.变量初始化声明一个变量,要初始化,如:String s = null;不要String s;即使java有默认值4. switch不能丢了default分支switch最好别用。因为用了必须要有default分支才能逻辑正确。否则的话,编译不报错。但是运行起来会报错(把所有的case依次执行一遍)。5.switch语句的default位置排在最后确保switch语句的default一定在最后出现。虽然java语法允许default可以放在switch中的任何位置,但是把它放在各个case的最下面是可读性最强的。6. switch中错误分支检查每个switch只执行一个分支。也就是说,检查某个case中是否有 break, return ,throw 或 continue语句。7. 同一行禁止声明多个变量确保每行只声明一个变量。八、复杂度?函数的复杂度函数的分支复杂度,不超过7。确保函数的分支复杂度没有超出限制。该复杂度是通过考察大部分函数(构造函数,一般方法,静态初始函数,实例初始化函数)中的 if, while, do, for, ? : , catch, switch, case 语句和 , || 的操作符的数目来计算得到的。它表示了通过一个函数的最少分支数,也因此体现了需要进行的测试数目。一般而言1-4 是优秀,5-7是合格。8-10看情况重构。11个以上一定要马上重构!九、杂项1. 大写的L检查并确保所有的常量中的L都是大写的。也就是在常量中没有使用”l”而是用的”L”,比如long型常量,都要以”L”结尾。这与Sun编码规范?3.10.1 相一致。小写的字母l 跟数字1 太象了。2. 声明数组的风格检查数组类型的定义。有两种风格:java风格的: String[] args 或者
显示全部