如何让你的代码优雅

引⾔言
史蒂夫.乔布斯说,”复杂的终极境界是简单“,同样的优雅的代码⼀一定是精简明了了,可读性好
优化
LocalDate和LocalDateTime 优化前
      SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdfMins = new SimpleDateFormat("yyyy-MM-dd
HH:mm:ss");
Date now = new Date();
String today = sdfDay.format(now);
String waterStart = today + " 01:00:00";
String waterEnd = today + " 02:00:00";
Date waterStartTime = sdfMins.parse(waterStart);
Date waterEndTime = sdfMins.parse(waterEnd);
优化后
Lombok
优化前
   LocalDateTime now = LocalDateTime.now();
LocalDateTime waterStart = LocalDateTime.of(now.getYear(),
now.getMonth(),now.getDayOfMonth(),1,0);
LocalDateTime waterEndTime =LocalDateTime.of(now.getYear(),
now.getMonth(),now.getDayOfMonth(),2,0);
    public class test {
    private String abc;
    private String bcd;
    public String getAbc() {
return abc; }
    public void setAbc(String abc) {
        this.abc = abc;
    }
    public String getBcd() {
return bcd;

 

   } }
}
public void setBcd(String bcd) {
    this.bcd = bcd;
}
@Override
public String toString() {
    return "test{" +
"abc='" + abc + ''' +
", bcd='" + bcd + ''' +
'}';
优化后
   <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>
  @Data
public class test {
    private String abc;
    private String bcd;
}
Optional
优化前
优化后
字符串串累加 优化前
    if (StringUtils.isEmpty(phone)) {
  param.put("status", "119");
} else {
  param.put("status", phone);
}
   Optional.ofNullable(phone).orElse("119"); //或者
StringUtils.defaultIfEmpty(phone, "119")
  
   StringBuffer sb = new StringBuffer();
sb.append("asd");
sb.append(request.getSellerTaobaoId());
sb.append("|123");
字符串串只要不不在for循环⾥里里累加,可以直接⽤用+号,因为编译成字节码后会变成 StringBuilder,如果在for循环⾥里里⾯面⽤用+号会⽣生成多个StringBuilder,所以在for循环⾥里里累加最 好在循环外创建StringBuilder
优化后
String sblog="asd"+request.getSellerTaobaoId()+"|123; List To Map
优化前
       Map<String, String> AssetsMetaIdMap = Maps.newHashMap();
        for (AssetsInfoBO assetsInfoBO :
request.getAssetsCollectionList()) {
           AssetsMetaIdMap.put(assetsInfoBO.getAssetMetadataId(),
assetsInfoBO.getAssetMetadataId());
        }
优化后
减少不不必要的判断 优化前
优化后
      return request.getExtDataValue(REQUEST_ID_KEY);
去掉else 优化前
   Map<String, String> AssetsMetaIdMap =
request.getAssetsCollectionList().stream().collect(Collectors.toMap(Ho
sting::getAssetMetadataId, Hosting::getAssetMetadataId));
    String requestId = null;
if (null != request.getExtData()) {
    requestId = request.getExtDataValue(REQUEST_ID_KEY);
}
return requestId;
     
   if (null != result &
  return no;
} else {
  throw new RuntimeException("XX");
}
优化后
不不返回Boolean 优化前
优化后
invoke = "true".equalsIgnoreCase(value.toString()); 最⼩小化判断
优化前
优化后
省略略⽆无意义的赋值 优化前
   if (null != result &
     return no;
}
throw new RuntimeException("XX");
    if ("true".equalsIgnoreCase(value.toString())) {
  invoke = true;
} else {
  invoke = false;
}
       if (0 == code) {
  sendMessage("A001", "success", out)
} else {
  sendMessage("A001", "fial", out)
}
   String message = (0 == code ? "success" : "fail");
sendMessage("A001", message, out);
  
   public List<User> query(Map<String, Object> params){
  List<User> userList = null;
  try {
    userList = mapper.queryList(params);
  } catch (Exception e) {
    throw new RuntimeException(e.getMessages())
  }
  return userList;
}
优化后
   public List<User> query(Map<String, Object> params){
  try {
    return mapper.queryList(params);
  } catch (Exception e) {
    throw new RuntimeException(e.getMessages())
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值