改善Java代码质量的建议

1.命名规范

包名全小写,类名首字母大写,常量全部大写并用下划线分割,变量采用驼峰命名的方法。注意对于O这个容易混淆要加注释

包名如 com.user  类名如Test  常量如RAND_CONST  变量如  String  userPhone

public class Test4 {
    public static void main(String[] args){
        long i=1l;
        System.out.println(i+i);
    }
}
这段代码很好的说明问题

2.在定义常量时,一定要确定的定义一个不变量

public static final int RAND_CONST = new Random().nextInt();这个显然是错的,就不是一个确定的常量,

public static final int RAND_CONST = 5;这是对的。

3.三元操作符的类型要一致

你很少用三元操作符吧,我也很少用,三元操作符是if-else的简化方法,是One Line表现,它的性能优于if-else,

int i=80;

String s = String.valueOf(i<100?90:100)这个是对的,类型一致都是int类型

String s1= String.valueOf(i<100?90:100.0)这个是错的,100.0是浮点型了和90类型不一致

4.避免带有变长参数的方法重载

public void calPrice(int price,int... discounts){

    float knockdownPrice = price;

        for(int discount:discounts){

            knockdownPrice = knockdownPrice*dicount/100;

        }
    
}

避免方法名和参数与这个一样

变长参数没用过吧,我也没用过,变长参数是对于可能传入多个值的一种灵活性,那个可变的参数注意要放在参数末尾啊,

并且一个方法只有一个变长参数

5.别让null和空值威胁到变长方法

如果要传个空值到变长方法的那个参数

注意了,空值的类型要给它定义好,因为不传类型的调用者会猜测这个值是什么类型,可能导致内部逻辑乱

如果它是String 类型的话,就传个String类型的空值给它

String[] strs = null;

client.methodA("China",strs);

6.覆盖变长方法也要循规蹈矩,这个我直接没理解,用的不多

7.警惕自增的陷阱,这个就简单了,好好写代码,就不会遇到

count=count++;

如果count初值是0,那么不论条件如何都是0,因为正规的写法是这个count++;

解释一下:count++是个表达式,是有返回值的,它的返回值是自加前的返回值,Java对自加是这样处理的是首先把count拷贝到

一个临时变量区,然后加1,最后返回临时变量区的值。

说了一大堆,注意写代码时规范就行了

8.不要旧语法困扰你,遇到了,就查查别纠结

9.少用静态导入

这个主要是为了阅读代码和维护方便,你引入的太多了,阅读麻烦,不利于维护

10.不要在本类中覆盖静态导入的变量和方法

就是你用的静态类,你在命名时别命名相同了,不然就会错

11.你要序列化的话,那个UID你可千万别随手删了,那个保证是同一个对象的,

12.避免用序列化类在构造方法中为不变量赋值,

如:public Person(){

name="ss";

}这是错的

因为反序列化时,构造函数不会执行

13.避免为final变量复杂赋值,这个是你老老实实用一句话搞定,别玩太多花样没事。

持续更新中。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值