一些Java的编码规范

发现在项目开发的过程中,许多程序员往往因为赶项目进度而忽略了代码的质量,在这里我整理了一些基本的编码规范,希望对大家有用
[size=small][b]1.对象间的比较判断[/b][/size]
[code]
String str = "abc";
//Java和C++不同,对象间的相等判断不能使用 ==, !=
if (str == "bbc") {
...
}
[/code]
应写成
[code]
//想想为什么不写成 str.equals("bbc") 呢?
if ("bbc".equals(str)) {
...
}
[/code]
或者是
[code]
//同一使用StringUtil来进行一切的字符串判断是最安全的,推荐这样写
if (StringUtil.equals("bbc", str) {
...
}
[/code]

[size=small][b]2.对象序列化的问题[/b][/size]
[code]
class A {
...
}

class B implements Serializable {
String name;
A a;
...
}
[/code]
类A是没有实现Serializable接口的,这样B在序列化的时候会出错的哦

[size=small][b]3.非空判断[/b][/size]
[code]
A a = AService.get();
a.doSomething();
...
[/code]
如果这个 Service 不是你自己写的话,那么 a 在使用前,一定要加非空判断
[code]
if (a != null) {
// 这里再使用 a
}
[/code]
理论上来说,除非大家对接口的约定非常缜密
不然的话,在方法中,对于每个传进来的参数对象,都必须作非空判断的
[code]
public A doSomething(B b) {
assert(b != null); // 只要这个方法是大家都可以调用的话,你就必须检查参数
...
}
[/code]

[size=small][b]4.log4j的问题[/b][/size]
每次打logger的时候,只要是Info或一下级别,都需要添加 isXXXEnable 这个判断:
[code]
if (logger.isInfoEnabled()) {
logger.info("...");
}
[/code]

待续...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值