代码codeReview

1.命名时不同单词之间要用下划线隔开

DEVICE_STATUS_UNIQUEID而不是DEVICESTATUSUNIQUEID

DEVICESTATUSUNIQUEID让人看不懂是什么意思

2.if嵌套不能超过3层

3.能在之前判空尽量直接判空返回,不要直接判不为空太繁琐

不建议的例子

if (t != null) {
   System.out.println("11111");
...
}

建议的例子:

if (t == null) {
   return;
}

System.out.println("11111");

...

4.尽量变量在哪使用就在那创建,不要过早创建

变量创建尽量在变量使用的上一行

5.不要分配不必要的空间,有的调用方法返回是带分配空间的

比如:

Map<String,String>  sn=obtainDetails(id);

这个是ok的

不要写成下面这样,这样会浪费空间:

Map<String,String>  sn=new HashMap<String,String>();

sn=obtainDetails(id);

6.遍历map尽量使用 

for (Map.Entry<String, String> maps.entrySet()) {
   String key = entry.getKey();
   String value = entry.getValue();

}

7.优化代码时如果在现有方法中有逻辑修改,最好不要修改现有方法,在上层方法中将不通逻辑的处理掉然后调用原有方法

比如:现有save方法中是存储传过来的所有值(数据库中已存在的就更新数据信息,不存在的就存储数据和时间)

现在有新需求:如果数据库中没有这个数据,那么就不存储,数据库存在的就跟新数据信息

原有save有两个相关方在用,一个相关方A需要每次传过来的值全量更新存储,即保持原有save逻辑不变,另一个相关方B有需求只更新数据库中有的属性

处理方法有两种:

1.重新为相关方B创建一个方法

2.在相关方调用save方法前就把数据库中不存在的remove掉,然后就可以调用原逻辑save方法了

建议使用第二种方法上层逻辑直接处理掉,这样不用添加新方法,便于后期维护

8.map不建议在遍历的时候进行remove

下面是拒绝这样使用的:

Map<String, String> map2=studentU.getStatus();
Map<String, String> map1 = redis.hgetAll("core");
if (map1 == null || map1 .size() <= 0) {
   return ;
}
Map<String, String> map3=new HashMap<String, String>();
for (Map.Entry<String, String> entry : map2.entrySet()) {
   String key= entry.getKey();
   String value= entry.getValue();
   String oldvalue = oldCurrStatus.get(key);
   if (oldvalue == null) {
      map2.remove(code);
   }
}

注:这样很可能会出现边遍历map2的同时边删除map2,可能会出现空指针的情况,杜绝这样使用

建议方法是:

Map<String, String> map2=studentU.getStatus(); 
Map<String, String> map1 = redis.hgetAll("core");
if (map1 == null || map1 .size() <= 0) {
   return ;
}
Map<String, String> map3=new HashMap<String, String>();
for (Map.Entry<String, String> entry : map2.entrySet()) {
   String key= entry.getKey();
   String value = entry.getValue();
   String oldvalue = oldCurrStatus.get(key);
   if (oldvalue == null) {
      continue;
   }
   map3.put(code,content);
}

return map3;

注:map3中存储的就是去除掉map2中在map1不存在的元素后的元素map

 

9.

public static final定义的常量最好大写

eg:

不建议这个形式   public static final  String studentType="good";

建议写成这种形式   public static final  String  STUDENTTYPE="differ";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值