编写高质量代码01--05

本文探讨了Java编码规范中的重要原则,包括避免易混淆的字母、确保常量不变、三元操作符类型一致性、避免变长参数方法重载及处理null值带来的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习《编码高质量代码》这本书,首先我们来看下第一个原则:不要在常量和变量中出现易混淆的字母

命名规则:包名全小写,类名首字母全大写,常量全部大写并用下划线分割,变量采用驼峰命名法(Camel Case)命名等,这些都是最基本的Java编码规范。但是在变量的声明时要注意不要引入容易混淆的字母,例如:

long i=1l;

这里需要注意,长整形的l需要大写,否则容易和1混淆。此外,如果字母和数字必须混合使用,字母l必须大写,字母o则增加注释。


建议2:莫让常量蜕变成变量

有时候public static修饰的常量也可以发生变化,例如:

interface Const{
     public static final int RAND_CONST=new Random().nextInt();
}

显然上述常量会发生改变。注意务必让常量的值在运行期间保持不变。


建议3:三元操作符的类型务必一致

三元操作符是if-else的简化写法,在项目中使用它的地方很多,但是注意不能随意使用,例如:


当i=80的时候,我们输出int型,如果i为101,却输出float型,这就会让我们疑惑到底输出什么类型的数据


建议4:避免带有变长参数的方法重载

Java5之前常用的设计技巧就是把形参定义成Collection类型或其子类类型,或者是数组类型,这种方法的确定是需要对空参数进行判断和筛选。而Java5引入变长参数就是为了更好地提高方法的复用性,当然变长参数需要遵循一定规则的,比如变长参数必须是方法的最后一个参数,一个方法不能定义多个变长参数等


显然后面的变长参数方法包含了前面的方法,此处是重载,那么当参数有2个的时候,调用哪一个方法呢,调用简单的,也就是第一个。


建议5:别让null值和空值威胁到变长方法

变长参数的重载问题,如果出现下图所示情况,


两个methodA都进行了重载,但是client.methodA("china")和client.methodA("china",null)编译报错,原因在于这两次调用均存在模糊调用,也就是说两个方法都符合,而且两个方法都是含有变长参数的复杂方法。

解决:在调用前指定好类型,例如String ss=null; client.methodA("china",ss)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值