Java枚举类型代码的二逼写法和艺术写法

最近遇到一种需求场景:使用一个类封装Java服务端返回的(返回状态码,返回信息字符串)信息,比如(0,操作成功)、(1,新增失败)、(2,查询失败)等状态。作为一枚Java屌丝,我想到这种常量信息最好写到一个单独的类里面,并且用public static final的形式修饰,为了将返回码code和返回信息msg两者绑定起来可以提供一个公用方法。我做了以下两个努力,一是将两个返回码和返回信息的变量名写的相似,看代码的人一看就知道两个变量的含义和关系;第二个则提供一个根据返回码获得对应的返回信息的方法。写完后自我感觉良好,感觉满足了需求很是完备,于是出现了以下的2B代码:

枚举状态码和状态信息的2B写法

这种写法存在的问题有两个:

  • 如果需要新增状态码和状态信息,需要在getMsg方法中新增switch的case分支;
  • 用户调用的时候,需要将状态码传递给getMsg方法,有传递对应不上的风险;

学习总是发生在不经意间,在看过其他人的一段代码后,才发现自己写的有多烂,有这么一种艺术的写法:

枚举状态码和状态信息的艺术写法

每次新增一个状态,只需要增加一个枚举的元素即可,不会出现状态码和信息对应不上的调用问题。

2B代码和艺术代码的调用方法对比

明显的对比显示出第二种写法的优势:简洁、好用、不易出错。

本文地址:http://www.crazyant.net/1689.html ,转载请注明,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蚂蚁学Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值