本文结合实例,讲诉如何写出符合PMD编程规范的java代码。
阅读前需要有一个共识:优雅的代码一定是最让人喜欢的。
下面附上代码规范的pmd.xml文件的下载地址:https://github.com/jitongming/pmdForDev
目录
第一类:basic
第二类:unnecessary
第三类:braces
第四类:codesize
第五类:controversial
第六类:coupling
第七类:design
第八类:empty
第九类:finalizers
第十类:imports
第十一类:j2ee
第十二类:logging-java
第十三类:naming
第十四类:optimizations
第十五类:strictexception
第十六类:strings
第十七类:unusedcode
------------------------------我是可爱的分割线-----------------------------------
1)ReturnFromFinallyBlock【不要在finally代码块中使用return】
public void test(){
try{
//......do something
}catch(Exception e){
//......do something
}finally{
return "在这进行返回"; //避免在这里写return
}
}
2)UnconditionalIfStatement【if语句判断条件,不能永远成立,必定是true或false】
public void test(){
if(0<1){ //避免以绝对成立的条件作为判断依据
//....do something
}
}
1)UnnecessaryConversionTemporary【不要浪费一个object进行基础数值的字符串转换,使用包装类直接处理】
String a = new Integer(x).toString();//1.避免写法:浪费了一个object
String a= Integer.toString(x);//2.推荐写法
2)UnnecessaryFinalModifier【删除不必要的final修饰符】
public final class Test{
public final String method1(){//1.避免写法
return "test";
}
public String method2(){//推荐写法
return "test";
}
}
1)ForLoopsMustUseBraces【for循环必须用{}包含起来】
int a=0;
for(int i=0;i<100;i++) //1.避免写法
a+=i;
for(int i=0;i<100;i++) {//2.推荐写法
a+=i;
}
2)IfElseStmtsMustUseBraces【if..else..语句必须用{}包含起来】
int a=1;
int b=2;
if(1==a) //1.避免写法
b=a;
else
b+=a;
if(1==a){//2.推荐写法
b=a;
}else{
b+=a;
}
<