导航

checkstyle简单使用说明

Posted on 2017-04-05 09:55  _eve  阅读(1017)  评论(0编辑  收藏  举报

checkstyle对检查代码规范问题的总结,虽然还不够只能,但已经比较强大。
1.Cyclomatic Complexity is X (max allowed is X).
问题说明:圈复杂度过高。所反映的是“判定条件”的数量。圈复杂度大说明程序代码可能质量低且难于测试和维护。
修改建议:降低判定条件的数量。对方法进行拆分。


2.Nested if-else depth is X (max allowed is X).
问题说明: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 using equals(), 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 not allowed.
问题说明:不允许对函数的参数进行修改。


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 ...,switch case较多的判断)修改时还没有合适的方式。