exp:一些代码规范 2018.7.20起

看看:Java编程思想、effective Java、代码整洁之道 等。

代码review:

包含:IDEA提示的黄色的可以优化的部分(比如可以改成lamda表达式的地方,光标定位到那里,然后option+enter会弹出提示换成lamda);格式化代码(命令是command+alt+L);
循环里注意,避免出现循环查数据库的操作,可以通过一次查询把所有的数据都查出来,存储到一个结构里,下次查这个结构;

规范:

  1. 命名:类名多用名词,方法多用动词。
    model类起名时,如果是数据传输对象(DTO),比如方法的参数或返回的json需要转化为类对象,结尾可以以"ReqDTO"、 "ResDTO"结尾。 传给前端的数据以VO结尾,查数据库得到的类以DO结尾。
    常量要大写,例如:
    private static final String VERSION_NO = “1.03”;
  2. 函数设计原则:短小,函数参数避免3个以上。 使用异常代替返回错误码。
  3. 用TODO来注释:如果任务量很多,需要分批次完成,可以在以后需要做的地方加上TODO注释,下次就方便查找哪里还没完成。
  4. 所有的相同类型的包装类对象之间值的比较,全部使用equals方法比较。
    【说明:对于Integer var=?在-128至127之间的赋值,Integer对象是在IntegerCache.cache产生,会复用已有对象,这个区间内的Integer值可以直接使用==进行判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有对象,这是一个大坑,推荐使用equals方法进行判断。】
  5. 类内方法定义顺序依次是:公有方法或保护方法 > 私有方法 > getter/setter方法。
  6. 数组转为集合时,作Arrays.asList()时,实际得到的是原有数组的视图,此时的list如果作修改会曝出UnsupportedOperationException
String[] str = new String[] { "a", "b" };
List list = Arrays.asList(str);
//list.add("c");  //UnsupportedOperationException
List<String> list2= new ArrayList<>();
list2.addAll(list);
list2.add("c");  // 这样写才OK

7 . 不要在 for循环里进行元素的remove/add操作。remove元素请使用Iterator方式,如果并发操作,需要对Iterator 对象加锁

List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
// wrong!!
for (String temp : list) {
    if ("1".equals(temp)) {
        list.remove(temp);
    }
}
// correct
Iterator<String> it = list.iterator();
while (it.hasNext()) {
    if ("1".equals(it.next())) {
        it.remove();
    }
}

8 . 对map的遍历,使用 entrySet 遍历效率高,而不是 keySet

Map<String, Integer> map = new HashMap<>();
map.put("zs", 98);
map.put("lisi", 94);
// 遍历map
Set<Entry<String, Integer>> set = map.entrySet();
Iterator<Map.Entry<String, Integer>> iterator = set.iterator();
while (iterator.hasNext()) {
    Map.Entry<String, Integer> me = iterator.next();
    System.out.println(me.getKey());
    System.out.println(me.getValue());
    System.out.println("---------------");
}

9 . Map 类是否能存储null
这里写图片描述

10 . 并发规范:
https://blog.youkuaiyun.com/tonghuawanli/article/details/81359305
IDEA设置code style

需要提前有文件:GoogleStyle***.xml
参见图片设置:
这里写图片描述
之后在需要设置的文件,按 command + alt + L

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值