java 代码审查规范

java 代码审查

1.工具类或者常量类里面的方法都是静态的,建议直接用类名调用,不用创建对象,所以将构造方法私有化,禁止创建对象

//error example:
public  class StringUtils{
    /**
     * 判断一个字符串是否为英文中文或数字
     * 
     * @param str
     * @return
     */
    public static boolean isLetterDigitOrChinese( String str ) {
        String regex = "^[a-z0-9A-Z\u4e00-\u9fa5]+$";
        return str.matches( regex );
    }
}
 //right example:
 public  class StringUtils{
  //添加构造私有构造方法
    private StringUtils{
    }
    /**
     * 判断一个字符串是否为英文中文或数字
     * 
     * @param str
     * @return
     */
    public static boolean isLetterDigitOrChinese( String str ) {
        String regex = "^[a-z0-9A-Z\u4e00-\u9fa5]+$";
        return str.matches( regex );
    }
}

2.NPE(空指针异常)-equals

//error 
String testString="abc";
if(testString.equals("abc")){

}else{

}
//right
String testString="abc";
if("abc".eqauls(testString)){
    //code
}else{
    //code
}

3.map list 新建 (java 1.7 )

// Noncompliant
List<String> strings = new ArrayList<String>();  
Map<String,List<Integer>> map = new HashMap<String,List<Integer>>();  

//Compliant Solution
List<String> strings = new ArrayList<>();
Map<String,List<Integer>> map = new HashMap<>();

4.使用isEmpty 来判断集合是否为空

//Noncompliant
if(data.size==0){

}

//compliant
if(data.isEmpty){

}

5.数组定义 (“[]” 在变量名字前面)

//Noncompliant
int arr[]={};

//compliant
int[] arr={};

6.字符串转换为数字

//Noncompliant
String numString="12222222";
long numLong=Long.valueOf(numString);
//compliant
String numString="12222222";
long posNum=Long.parseLong( posMap.get( "num" ).toString());

7.公共静态成员应该加上final,也就是public static final 一般不分家

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值