最近在改项目里面的违规代码,是使用sonar进行检查的,checkstyle、PMD、Findbugs以及sonar本身的代码规范,修改的过程记录一下。
1、* hides a field
问题说明:在方法里面命名的变量和成员属性名字冲突
修改建议:修改方法的变量名
2、Avoid printStackTrace(); use a logger call instead.
问题说明:在扑捉到异常以后,直接调用printStackTrace()
修改建议:使用logger来记录日志
修改理由:使用logger可以统一控制日志级别,控制日志的输出路径,还可以异步输出,提升性能……
3、A method/constructor shouldn't explicitly throw java.lang.Exception
问题说明:方法直接抛出了Exception而不是具体的异常
修改建议:抛出异常的时候,需要明确抛出具体的异常
4、Avoid throwing raw exception types.
问题说明:抛出了原始的异常类型
修改建议:抛出具体的异常,不要抛出原始的异常
5、Avoid using if statements without curly braces
问题说明:if语句没有使用大括号
修改建议:即使if语句下面只有一句话,也需要加上大括号
6、No need to check for null before an instanceof
问题说明:代码中可能会出现这样的代码if(example != null && example instanceof String),实际上,不需要前面的判空,如果example为空example instanceof String 会返回false
7、Unread field *
问题说明:类中的成员属性除了set方法以外,没有其他地方调用
修改建议:删除无用的成员属性
8、Consider simply returning the value vs storing it in local variable '*'
问题说明:
//我们可能会写这样的代码 String result = findXXX(); return result; //应该改为 return findXXX();
9、String.indexOf(char) is faster than String.indexOf(String).
问题说明:使用indexOf的时候,如果里面只有一个字符,需要用char类型的
10、Expression can be simplified.
问题说明:可能会写if(isSuccess==false),这样的代码可以改成if(!isSuccess)
11、Redundant comparison of non-null value to null in *
代码示例:
//example是一个list if(example == null || example.size() == 0) { return; } if(example != null && example.size() > 0) { doSomething(); }
问题说明:从上面的代码里面可以看出,其实第二个if的判断是没有必要的
修改建议:去掉无用的判断
12、Dead store to tempCoupons in *
代码示例:
List example = new ArrayList(); example = finxXXX();问题说明:未用的局部变量,example没有必要new出来
修改建议:直接改成
List example = finxXXX();
=====后续修改继续补上
相关推荐
代码规范 代码规范 代码规范 代码规范 代码规范代码规范代码规范
java检查代码规范插件 java检查代码规范插件 java检查代码规范插件 java检查代码规范插件
C#代码规范C#代码规范C#代码规范C#代码规范C#代码规范C#代码规范C#代码规范
阿里巴巴 代码规范
代码规范代码规范代码规范代码规范代码规范代码规范代码规范代码规范代码规范
Java开发代码规范,用于行业内部开发的准则,包括开发标准和开发技巧。
华为代码规范-C C++开发,最新的华为代码规范,适用于C++/C/java,高清带目录
这是借鉴、引用的是京东前端代码规范。
前端代码规范
前端代码规范
java开发代码规范java开发代码规范
代码规范
阿里巴巴Java代码规范
华为公司的代码编写规范,有一定的参考价值
matlab代码规范,并附有详细说明和编程实例
ABAP代码规范二例 内容节选: ******************************** 变量命名规则 Type Name:T_ Internal tables (global): gt_ Internal Tables (Local):it 工作区(structure): wa_ 全局变量: g_ 局部变量: l_ Ranges ...
华为的代码规范,C语言版,适合嵌入式行业的工程师
iOS软件代码规范目录 前 言 4 1. 指导原则 5 2. 布局 5 2.1. 文件布局 6 2.2. 基本格式 8 2.3. 对齐 9 2.4. 空行空格 11 2.5. 断行 13 3. 注释 14 4. 命名规则 17 4.1. 基本规则 17 4.2. 资源命名 19 5. 变量,常量...
ios代码规范整理
JAVA代码规范.docxJAVA代码规范.docxJAVA代码规范.docxJAVA代码规范.docx