java代码规范

来源:互联网 发布:加群软件 编辑:程序博客网 时间:2024/05/29 08:25

1.判断集合长度(等于/或大于0): 
大部分人的习惯:list.size()
建议使用 list.isEmpty() 
优势:更高效
2.对与map的遍历:
大部分人的习惯:对map.keySet()进行循环
建议使用迭代器,或者按java8的写法 map.forEach((key,value)->{ ... })
优势:更高效,不需要再通过键再获取值
3.对于以下代码进行优化
public object text(y){
object x = null;
if(y == 1){
x = ...;
}else{
x = ...;
}
return x;
}
优化后:
public object text(y){
object x ;
if(y == 1){
x = ...;
}else{
x = ...;
}
return x;
}
说明:不要对即将重新赋值的变量设置初始值
优势:节省内存开支
4.不要编写System.out System.err 类似相关无效代码,或应自测完成及时移除;
优势:提高效率
5.避免空语句的情况出现:比如 int x = 10;; 此处存在两个结束标示符


6.针对字符串比较 str.eqlues("xxx") 建议优化为 :"xxx".eqlues(str) 从而避免空对象异常;特殊情况下还可减少判断条件


7.针对使用compareTo()比较大小时,建议将以下情况 
习惯写法:
if (myClass.compareTo(arg) == -1) {  // Noncompliant
 // ...
}
建议写法:
if (myClass.compareTo(arg) < 0) {
 // ...
}
原因:虽然大多数CompareTo方法返回1,0,或1,有的没有,测试对一个特定的值非0可能会导致假阴性结果的对比。

8.针对对象排序、比较大小(实现Compareable接口 compareTo方法后)需要重写 eqlues方法
如果违反了这个规则,就会发生怪异和不可预知的故障。
例如,在java 5的优先级。PriorityQueue.remove()方法依靠compareto(),但自从java 6依靠equals()


9.判断请避免以下情况:
示例1:
if(x == null){
return null;
}
if(x != null && "yy".eqlues(y)){

}
示例2:
if(y == false){

}
if(x == true){

}
示例3:
if(y == false && "1".eqlues(y)){

}else if(y == false && "2".eqlues(y)){

}else if(y == false && "3".eqlues(y)){

}else if(y == false && "4".eqlues(y)){

}else if(y == false && "5".eqlues(y)){

}
10. 在不需要考虑线程安全的情况下,字符串拼接请使用StringBuilder而不是StringBuffer ,提升效率
原创粉丝点击