美文网首页
优雅代码(1)

优雅代码(1)

作者: 御风_2fd9 | 来源:发表于2018-10-17 21:37 被阅读23次

异常

自定义异常,设定状态码和相应的异常信息,在关键代码处打日志,并且抛出异常信息。
什么是关键代码处,比如调用接口,调用数据库等。
操作示例:
if (updateResult == null) {
    log.error("【取消订单】更新失败, orderMaster={}", orderMaster);
    throw new SellException(ResultEnum.ORDER_UPDATE_FAIL);
}
注意,此处打日志,使用了占位符的方式,相较于字符串拼接,更加优雅。

注释

好的代码没有注释,但是目前还达不到那种境界,而且,大面积不注释影响他人阅读,随着时间推移,自己都可能忘记自己当初写该段代码的初衷。
在代码关键点处注明代码用意,在接口方法处注明方法用途,入参,出参的含义。

使用枚举对象

将常量、状态码封装到枚举对象中,并设置常量值和常量含义两个对象属性。
比如描述订单状态
@Getter
public enum OrderStatusEnum {
NEW(0, "新订单"),
FINISHED(1, "完结"),
CANCEL(2, "已取消"),
;

private Integer code;
private String message;
OrderStatusEnum(Integer code, String message) {
    this.code = code;
    this.message = message;
}

}

工具类

将功能性强或业务意义很弱的代码抽取成工具类,分离代码类的职责,让单个类不至于显得太臃肿,增强代码可读性。
比如,生成订单唯一主键
抽取成一个工具类
public class KeyUtil {

/**
 * 生成唯一的主键
 * 格式: 时间+6位随机数
 * 使用synchronized 保证线程安全
 * @return
 */
public static synchronized String genUniqueKey() {
    Random random = new Random();
    Integer number = random.nextInt(900000) + 100000;

    return System.currentTimeMillis() + String.valueOf(number);
}

}

单元测试

对每层对象的每个方法进行单元测试,确保代码质量。

相关文章

  • 优雅代码(1)

    异常 自定义异常,设定状态码和相应的异常信息,在关键代码处打日志,并且抛出异常信息。什么是关键代码处,比如调用接口...

  • Golang中使用Echo框架进行优雅重启全流程流程

    优雅重启代码 测试优雅重启,获取程序版本内容1.0.7 1、老版本代码 执行老版本测试 2、新版本代码 Linux...

  • 如何写单元测试

    二话不说,先上结论王道: 测试代码的优雅和产品代码的优雅,两者一般不可得兼,舍测试代码的优雅而取产品代码的优雅,方...

  • 《一步一步学优雅编程》目录

    优雅编程之这样注释代码,你就“正常”了(一) 优雅编程之这样写函数,你就“正常”了(二) 优雅编程之做1个“正常”...

  • 优雅的调用RESTful API

    代码量越少越优雅,实现越简单越优雅,下面介绍如何优雅的实现API调用。 1 单资源访问 下面以华为云IoT平台提供...

  • iOS--复数cell下优雅的代码结构

    iOS--复数cell下优雅的代码结构 iOS--复数cell下优雅的代码结构

  • babel插件安利

    插件,让代码更优雅 1. babel-plugin-transform-decorators-legacy 这几天...

  • Java文件读写

    1.知识点 读文件 写文件 释放文件资源 如何优雅的遍历 finally的用法 2.代码 功能代码 测试代码 3....

  • [持续]代码优雅

    参考文献 好的代码可以自己说话!

  • 代码的优雅

    创建线程 判断代理或者协议 下面的方式,一个标志为只会占用一个二进制,并且不用每次使用代理都去判断是否实现协议那样...

网友评论

      本文标题:优雅代码(1)

      本文链接:https://www.haomeiwen.com/subject/jvcdzftx.html