checkstyle对检查代码规范问题的总结,虽然还不够只能,但已经比较强大。
1.Cyclomatic Complexity is X (max allowed isX).
问题说明:圈复杂度过高。所反映的是“判定条件”的数量。圈复杂度大说明程序代码可能质量低且难于测试和维护。
修改建议:降低判定条件的数量。对方法进行拆分。
2.Nested if-else depth is X (max allowed isX).
问题说明:if-else嵌套太多
修改建议:把嵌套的逻辑用一个分支或多个分支来实现
3.Line matches the illegal pattern 'X'.
问题说明:含有非法字符,一般是system类的东西,程序提交时进行删除。
4.Must have at least one statement
问题说明:空语句。必须添加业务逻辑。有时每行后不小心添加一个【;】,或者异常处理没有进行。
5.Empty statement
问题说明:空语句。必须添加业务逻辑。
6.Literal Strings should be compared usingequals(), not 'X'.
问题说明:字符串比较不能用==,用equals
7.switch without "default"clause.
问题说明:switch语句判断没有default的情况处理。
8.Found duplicate of X lines in X, starting from line X
问题说明:包含有重复的语句,应该提取公共方法。
9.Assignment of parameter 'X' is notallowed.
问题说明:不允许对函数的参数进行修改。
10.'X' is a magic number.
问题说明:对于直接用代码中的数字,进行常量的定义。
11.Missing a Javadoc comment.
问题说明:缺少javadoc的注释。
12.Expected X tag for 'X'.
问题说明:注释中缺少对变量,异常,返回值的说明
13.Name 'X' must match pattern 'X'.
问题说明:变量不符合命名规则
14.其他的都比较好理解。对于类,方法长度的控制,注释中各参数的说明等。
问题说明:比较难于修改的为圈复杂度过高,以及嵌套if-else的问题,需要根据实际的业务逻辑进行拆分方法,并进行方法参数的传递。
而对于圈复杂度过高,判断较复杂(if -elseif -elseif ...,switchcase较多的判断)修改时还没有合适的方式。
1.Cyclomatic Complexity is X (max allowed isX).
2.Nested if-else depth is X (max allowed isX).
3.Line matches the illegal pattern 'X'.
4.Must have at least one statement
5.Empty statement
6.Literal Strings should be compared usingequals(), not 'X'.
7.switch without "default"clause.
8.Found duplicate of X lines in X, starting from line X
9.Assignment of parameter 'X' is notallowed.
10.'X' is a magic number.
11.Missing a Javadoc comment.
12.Expected X tag for 'X'.
13.Name 'X' must match pattern 'X'.
14.其他的都比较好理解。对于类,方法长度的控制,注释中各参数的说明等。
而对于圈复杂度过高,判断较复杂(if -elseif -elseif ...,switchcase较多的判断)修改时还没有合适的方式。